Get rid of the last remains of galileo

master
Salvo 'LtWorf' Tomaselli 2013-12-27 00:47:48 +07:00
parent 556eecc118
commit c8d9e57a50
10 changed files with 36 additions and 29 deletions

@ -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

@ -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

@ -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

@ -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

@ -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