Salvo 'LtWorf' Tomaselli
9f83aaabbf
Add test to contain escapes in selection strings
...
This makes sure that the code with escapes is generated correctly.
2016-04-23 15:21:24 +07:00
Salvo 'LtWorf' Tomaselli
92990039ac
Test on joins
...
To hit on the issue just fixed.
2016-04-19 17:48:54 +07:00
Salvo 'LtWorf' Tomaselli
fb643bd26d
Added a bunch of .fail tests
...
Tests that are supposed to fail. They are a bit random, but at least
helped me fixing the test driver.
2016-04-18 16:29:54 +07:00
Salvo 'LtWorf' Tomaselli
d751de8a75
Test new optimization
2016-04-15 14:56:54 +07:00
Salvo 'LtWorf' Tomaselli
696361af4b
Test that failure in union is commutative
2016-04-15 14:42:51 +07:00
Salvo 'LtWorf' Tomaselli
1b049e13f0
Better handling of parenthesis inside string literals
...
When scanning for the matching parenthesis, string literals
were not taken into account, which would inevitably lead to
errors if one wanted to do a selection on a string containing
a parenthesis.
Now it uses a state-machine to skip the ones that are located
inside literals.
2016-04-09 11:37:28 +07:00
Salvo 'LtWorf' Tomaselli
dc193fee39
Test cases for optimization fix
...
Add test cases that would fail in previous versions
because of the just fixed optimization.
2016-04-09 10:09:01 +07:00
Salvo 'LtWorf' Tomaselli
3b3888e9be
New optimization
...
Turns
π a,b,c(A) ∪ π a,b,c(B)
into
π a,b,c(A ∪ B)
if A and B are union compatible
Works with union, intersection and difference.
2016-01-03 10:07:23 +07:00
Salvo 'LtWorf' Tomaselli
950a2273c3
New query optimization
...
A * B ∪ A * C = A * (B ∪ C)
2015-12-31 14:26:28 +07:00
Salvo 'LtWorf' Tomaselli
a8c1b2a463
Revert copy on write optimization
...
In case of multiple renames, all of the resulting relations will point
to the same data, so writing on one and marking its only known copy
as writable would be incorrect.
For this to work, all the references should be kown to all the other
instances.
It is probably not worth to implement it.
Implemented test for the update
2015-11-18 12:15:03 +07:00
Salvo 'LtWorf' Tomaselli
5073567757
Change how python tests are executed
...
Require them to have assert rather than testing the
result variables set.
This makes for way simpler code.
Now also prints stacktrace to know where the problem occurred.
2015-11-18 12:05:56 +07:00
Salvo 'LtWorf' Tomaselli
d597076038
Subtle bug that occurred selecting after a join
...
Outer joins add the placeholder '---' that is used as some sort of NULL
value.
However select operations on such relations would always fail, because
relations are supposed to only contain values of class rstring, and
the placeholder was added as a regular string.
As a consequence, automatic casting would always fail, and the select
would always raise an exception.
Added a new test case with this specific case in mind.
2015-09-10 12:19:51 +07:00
Salvo 'LtWorf' Tomaselli
a059afa9ce
Added new tests on joins
2015-06-06 14:06:02 +07:00
Salvo 'LtWorf' Tomaselli
8cb08ad030
Change relational language to use math symbols
...
The symbols previously used were a Canadian script, and were looking
good enough, but they might not be installed in every machine.
Besides, all this is to workaround a Qt5 bug that prevents from
rendering those symbols at times.
2015-05-31 19:01:03 +07:00
Salvo 'LtWorf' Tomaselli
a355762fc4
Switch core module to Python3
...
The core module (the relational algebra, not the interface) is now
using Python3
Tests are passing, so it should be ok.
2015-02-19 12:42:41 +07:00
Salvo 'LtWorf' Tomaselli
2e0cbf94a7
- Can convert the expressions into python code objects as well
...
- Can test that the code objects work as expected too.
2013-02-10 14:11:26 +07:00
LtWorf
3978259f4a
- improved an optimization, to produce a simpler select condition under certain circumstances
...
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@343 014f5005-505e-4b48-8d0a-63407b615a7c
2011-11-07 19:01:33 +07:00
LtWorf
36d52b144a
- Using more the colored class
...
- Todo
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@298 014f5005-505e-4b48-8d0a-63407b615a7c
2011-05-02 10:02:06 +07:00
LtWorf
4a296c52cf
- termcolor modified to use bold by default
...
- uses colors in readline
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@297 014f5005-505e-4b48-8d0a-63407b615a7c
2011-04-01 10:28:47 +07:00
LtWorf
f8b0ab746b
- Added test
...
- Re-sorted CHANGELOG
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@286 014f5005-505e-4b48-8d0a-63407b615a7c
2011-03-22 13:28:41 +07:00
LtWorf
3e04c24056
- Added new test
...
- More details in test driver
- Re-building GUI, idioticly eliminated long ago
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@277 014f5005-505e-4b48-8d0a-63407b615a7c
2011-03-20 17:16:34 +07:00
LtWorf
1e51f9784f
- test driver script is now executable
...
- adds more generic procedure to perform implicit casting, thus eliminating duplicate code
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@271 014f5005-505e-4b48-8d0a-63407b615a7c
2011-03-03 09:27:53 +07:00
LtWorf
ba564b55d3
- Added two more tests
...
- Simplified code of optimizations module
- Improved doc of optimization module
- Added option to get all the intermediate passages of optimization
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@269 014f5005-505e-4b48-8d0a-63407b615a7c
2011-02-24 13:27:33 +07:00
LtWorf
71697bb2e8
- Implemented select_union_intersect_subtract general optimization
...
- Added tests for the new optimization
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@268 014f5005-505e-4b48-8d0a-63407b615a7c
2011-02-18 18:11:39 +07:00
LtWorf
3e2d33f1d5
- Added tests
...
- Driver can test on pure python code
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@266 014f5005-505e-4b48-8d0a-63407b615a7c
2010-12-23 10:11:14 +07:00
LtWorf
6e16a0d841
- Added new test
...
- Changed some comments
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@263 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-26 13:54:34 +07:00
LtWorf
3d6e0590c0
- Added other tests to expose potential optimization problems
...
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@261 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-11 10:51:37 +07:00
LtWorf
3d21363e46
- Added tests
...
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@258 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-06 21:44:13 +07:00
LtWorf
8224033881
- Fixed tokenize_select that was not providing level prop for the tokens anymore
...
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@257 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-06 12:31:48 +07:00
LtWorf
54d1301a96
- Added other tests
...
- Driver can handle exceptions
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@255 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-04 12:46:18 +07:00
LtWorf
48e6ecb7ba
- Added test driver
...
- Added some basic tests, mostly to test the driver itself
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@254 014f5005-505e-4b48-8d0a-63407b615a7c
2010-10-04 10:06:17 +07:00