Get rid of the last remains of galileo
This commit is contained in:
parent
556eecc118
commit
c8d9e57a50
26
complexity
26
complexity
@ -2,25 +2,25 @@
|
|||||||
Complexity
|
Complexity
|
||||||
|
|
||||||
Abstract
|
Abstract
|
||||||
Purpose of this document is to describe in a detailed way the
|
Purpose of this document is to describe in a detailed way the
|
||||||
complexity of relational algebra operations. The evaluation will be
|
complexity of relational algebra operations. The evaluation will be
|
||||||
done on the specific implementation of this program, not on theorical
|
done on the specific implementation of this program, not on theorical
|
||||||
lower limits.
|
lower limits.
|
||||||
|
|
||||||
Latest implementation can be found at:
|
Latest implementation can be found at:
|
||||||
http://galileo.dmi.unict.it/svn/trunk
|
https://github.com/ltworf/relational
|
||||||
|
|
||||||
Notation
|
Notation
|
||||||
Big O notation will be used. Constant values will be ignored.
|
Big O notation will be used. Constant values will be ignored.
|
||||||
|
|
||||||
Single letters will be used to indicate relations and letters between
|
Single letters will be used to indicate relations and letters between
|
||||||
| will indicate the cardinality (number of tuples) of the relation.
|
| will indicate the cardinality (number of tuples) of the relation.
|
||||||
|
|
||||||
Number of tuples can't be enough. For example a relation with one
|
Number of tuples can't be enough. For example a relation with one
|
||||||
touple and thousands of fields, will not take O(1) in general to be
|
touple and thousands of fields, will not take O(1) in general to be
|
||||||
evaluated. So we assume that relations will have a reasonable and
|
evaluated. So we assume that relations will have a reasonable and
|
||||||
comparable number of fields.
|
comparable number of fields.
|
||||||
|
|
||||||
Then after evaluating the big O notation, an attempt to find more
|
Then after evaluating the big O notation, an attempt to find more
|
||||||
precise results will be done, since it will be important to know
|
precise results will be done, since it will be important to know
|
||||||
with a certain precision the weight of the operation.
|
with a certain precision the weight of the operation.
|
||||||
@ -47,7 +47,7 @@ Notation
|
|||||||
Then, the tuple is inserted in a new relation if it satisfies the
|
Then, the tuple is inserted in a new relation if it satisfies the
|
||||||
condition. Since no check on duplicated tuples is performed, this
|
condition. Since no check on duplicated tuples is performed, this
|
||||||
operation is constant too.
|
operation is constant too.
|
||||||
|
|
||||||
In the end we have O(|n|) as complexity for a selection on the
|
In the end we have O(|n|) as complexity for a selection on the
|
||||||
relation n.
|
relation n.
|
||||||
|
|
||||||
@ -57,9 +57,9 @@ Notation
|
|||||||
containing the name of the fields.
|
containing the name of the fields.
|
||||||
The big issue is to copy the content of the relation into a new
|
The big issue is to copy the content of the relation into a new
|
||||||
relation object, so the new one can be modified.
|
relation object, so the new one can be modified.
|
||||||
|
|
||||||
So the operation depends on the size of the relation: O(|n|).
|
So the operation depends on the size of the relation: O(|n|).
|
||||||
|
|
||||||
1.3 Projection
|
1.3 Projection
|
||||||
|
|
||||||
The projection operation creates a copy of the original relation
|
The projection operation creates a copy of the original relation
|
||||||
@ -69,7 +69,7 @@ Notation
|
|||||||
allowed. So after extracting the wanted elements, it has to check if
|
allowed. So after extracting the wanted elements, it has to check if
|
||||||
the new tuple was already added to the new relation. And this brings
|
the new tuple was already added to the new relation. And this brings
|
||||||
the complexity to O(|n|²).
|
the complexity to O(|n|²).
|
||||||
|
|
||||||
But the projection can also be used to "rearrange" fields, which
|
But the projection can also be used to "rearrange" fields, which
|
||||||
makes no sense in pure relational algebra, but can be usefull to make
|
makes no sense in pure relational algebra, but can be usefull to make
|
||||||
two relations match (in fact it is used internally to make relations
|
two relations match (in fact it is used internally to make relations
|
||||||
@ -84,7 +84,7 @@ Notation
|
|||||||
in this section. Since we will deal with two relations per operation
|
in this section. Since we will deal with two relations per operation
|
||||||
here, we will call them m and n, and f and g will be the number of
|
here, we will call them m and n, and f and g will be the number of
|
||||||
their fields.
|
their fields.
|
||||||
|
|
||||||
2.1 Product
|
2.1 Product
|
||||||
|
|
||||||
Product is a very complex operations. It is O(|n|*|m|).
|
Product is a very complex operations. It is O(|n|*|m|).
|
||||||
@ -120,7 +120,7 @@ Notation
|
|||||||
join. Makes it O(|n|*|m|) too.
|
join. Makes it O(|n|*|m|) too.
|
||||||
|
|
||||||
2.7 Outher_left
|
2.7 Outher_left
|
||||||
|
|
||||||
O(|n|*|m|), very depending on the number of the fields, because they
|
O(|n|*|m|), very depending on the number of the fields, because they
|
||||||
are compared.
|
are compared.
|
||||||
|
|
||||||
@ -128,8 +128,8 @@ Notation
|
|||||||
|
|
||||||
Mirror operation of outer_lef
|
Mirror operation of outer_lef
|
||||||
|
|
||||||
2.9 Join
|
2.9 Join
|
||||||
|
|
||||||
Same as above.
|
Same as above.
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
|||||||
|
relational (1.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Point to new upstream location
|
||||||
|
|
||||||
|
-- Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it> Fri, 27 Dec 2013 00:35:44 +0100
|
||||||
|
|
||||||
relational (1.1-1) unstable; urgency=low
|
relational (1.1-1) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release
|
* New upstream release
|
||||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -4,7 +4,7 @@ Priority: optional
|
|||||||
Maintainer: Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it>
|
Maintainer: Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it>
|
||||||
Build-Depends: debhelper (>= 7.0.50~), python, python-support
|
Build-Depends: debhelper (>= 7.0.50~), python, python-support
|
||||||
Standards-Version: 3.9.2
|
Standards-Version: 3.9.2
|
||||||
Homepage: http://galileo.dmi.unict.it/wiki/relational/doku.php
|
Homepage: https://github.com/ltworf/relational/
|
||||||
|
|
||||||
Package: python-relational
|
Package: python-relational
|
||||||
Architecture: all
|
Architecture: all
|
||||||
|
2
debian/copyright
vendored
2
debian/copyright
vendored
@ -1,6 +1,6 @@
|
|||||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Author: Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
Author: Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
||||||
Source: http://galileo.dmi.unict.it/wiki/relational/doku.php
|
Source: https://github.com/ltworf/relational
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: © 2008 Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
Copyright: © 2008 Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
||||||
|
2
debian/watch
vendored
2
debian/watch
vendored
@ -1,2 +1,2 @@
|
|||||||
version=3
|
version=3
|
||||||
opts=filenamemangle=s/.*:// http://galileo.dmi.unict.it/wiki/relational/doku.php?id=download /wiki/[^:]*:relational_([^(_mac)]*).tar.gz
|
opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/relational-$1\.tar\.gz/ https://github.com/ltworf/relational/tags .*/v?(\d\S*)\.tar\.gz
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
# BinaryOp := * | - | ᑌ | ᑎ | ÷ | ᐅᐊ | ᐅLEFTᐊ | ᐅRIGHTᐊ | ᐅFULLᐊ
|
# BinaryOp := * | - | ᑌ | ᑎ | ÷ | ᐅᐊ | ᐅLEFTᐊ | ᐅRIGHTᐊ | ᐅFULLᐊ
|
||||||
#
|
#
|
||||||
# Language definition here:
|
# Language definition here:
|
||||||
# https://galileo.dmi.unict.it/wiki/relational/doku.php?id=language
|
# https://github.com/ltworf/relational/wiki/Grammar-and-language
|
||||||
import re
|
import re
|
||||||
import rtypes
|
import rtypes
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ def printver(exit=True):
|
|||||||
print
|
print
|
||||||
print "Written by Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it>"
|
print "Written by Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it>"
|
||||||
print
|
print
|
||||||
print "http://galileo.dmi.unict.it/wiki/relational/"
|
print "https://github.com/ltworf/relational/"
|
||||||
if exit:
|
if exit:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ import locale
|
|||||||
class surveyForm (QtGui.QWidget):
|
class surveyForm (QtGui.QWidget):
|
||||||
|
|
||||||
'''This class is the form used for the survey, needed to intercept the events.
|
'''This class is the form used for the survey, needed to intercept the events.
|
||||||
It also sends the data with http POST to a page hosted on galileo'''
|
It also sends the data with http POST to a page'''
|
||||||
|
|
||||||
def setUi(self, ui):
|
def setUi(self, ui):
|
||||||
self.ui = ui
|
self.ui = ui
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Relational
|
# Relational
|
||||||
# Copyright (C) 2008 Salvo "LtWorf" Tomaselli
|
# Copyright (C) 2008 Salvo "LtWorf" Tomaselli
|
||||||
#
|
#
|
||||||
# Relational is free software: you can redistribute it and/or modify
|
# Relational is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# (at your option) any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
||||||
|
|
||||||
from distutils.core import setup
|
from distutils.core import setup
|
||||||
@ -28,6 +28,6 @@ def c_setup(name):
|
|||||||
author_email='tiposchi@tiscali.it',
|
author_email='tiposchi@tiscali.it',
|
||||||
maintainer="Salvo 'LtWorf' Tomaselli",
|
maintainer="Salvo 'LtWorf' Tomaselli",
|
||||||
maintainer_email='tiposchi@tiscali.it',
|
maintainer_email='tiposchi@tiscali.it',
|
||||||
url='http://galileo.dmi.unict.it/wiki/relational/',
|
url='https://github.com/ltworf/relational',
|
||||||
license='GPL3',
|
license='GPL3',
|
||||||
)
|
)
|
||||||
|
@ -9,9 +9,9 @@ AppId={{6F127615-6AD4-4BD7-8135-2444A335B5CD}
|
|||||||
AppName=Relational
|
AppName=Relational
|
||||||
AppVerName=Relational ver. 1.2
|
AppVerName=Relational ver. 1.2
|
||||||
AppPublisher=Salvo 'LtWorf' Tomaselli
|
AppPublisher=Salvo 'LtWorf' Tomaselli
|
||||||
AppPublisherURL=http://galileo.dmi.unict.it/wiki/relational/
|
AppPublisherURL=https://github.com/ltworf/relational
|
||||||
AppSupportURL=http://galileo.dmi.unict.it/wiki/relational/
|
AppSupportURL=https://github.com/ltworf/relational
|
||||||
AppUpdatesURL=http://galileo.dmi.unict.it/wiki/relational/
|
AppUpdatesURL=https://github.com/ltworf/relational
|
||||||
DefaultDirName={pf}\Relational
|
DefaultDirName={pf}\Relational
|
||||||
DefaultGroupName=Relational
|
DefaultGroupName=Relational
|
||||||
AllowNoIcons=yes
|
AllowNoIcons=yes
|
||||||
@ -37,7 +37,7 @@ Source: "samples\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs creat
|
|||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{group}\Relational"; Filename: "{app}\relational_gui.exe"
|
Name: "{group}\Relational"; Filename: "{app}\relational_gui.exe"
|
||||||
Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "http://galileo.dmi.unict.it/wiki/relational/"
|
Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "https://github.com/ltworf/relational"
|
||||||
Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}"
|
Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}"
|
||||||
Name: "{commondesktop}\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: desktopicon
|
Name: "{commondesktop}\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: desktopicon
|
||||||
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: quicklaunchicon
|
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: quicklaunchicon
|
||||||
|
Loading…
x
Reference in New Issue
Block a user