Commit Graph

824 Commits

Author SHA1 Message Date
Salvo 'LtWorf' Tomaselli
36bc145ac3 Initial commit for module to split queries into programs 2016-08-15 09:15:57 +02:00
Salvo 'LtWorf' Tomaselli
cba34cca2c CHANGELOG 2016-05-25 15:30:15 +02:00
Salvo 'LtWorf' Tomaselli
03d05cf7a8 Added ui buttons to use multi line optimization 2016-05-25 15:29:32 +02:00
Salvo 'LtWorf' Tomaselli
57ea58e516 Removed debug print 2016-05-25 15:27:16 +02:00
Salvo 'LtWorf' Tomaselli
077eaa16bd oijqwe 2016-05-25 15:13:18 +02:00
Salvo 'LtWorf' Tomaselli
93fbd848dc optimize_all can return parse tree
This is nice, to avoid re-parsing it.
2016-05-25 15:08:30 +02:00
Salvo 'LtWorf' Tomaselli
e47bf59320 Multi-line optimizations
Added multi line optimizations.

So far, the code is not able to eliminate repetitions, but
I plan to address this problem later.
2016-05-25 14:59:23 +02:00
Salvo 'LtWorf' Tomaselli
d5de52d73c Highlight current row
Inspired by code in pireal.
2016-05-25 13:53:34 +02:00
Salvo 'LtWorf' Tomaselli
2955afe45e New multi line editor
Supports zooming in and out with ctrl+scroll.

It is a bit hacky, since I use sed in make to make it work, but
whatever.
2016-05-25 13:38:22 +02:00
Salvo 'LtWorf' Tomaselli
790766827e Skip empty queries 2016-05-25 11:02:21 +02:00
Salvo 'LtWorf' Tomaselli
7a4a31d16a
Fix install targets
Call the correct install targets on make install
2016-04-27 20:23:16 +02:00
Salvo 'LtWorf' Tomaselli
9830a3cd74
Fixes to the .desktop file
Thanks to Davide Pesavento for pointing the issues out.

https://bugs.gentoo.org/show_bug.cgi?id=581000
2016-04-27 19:48:00 +02:00
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 +02:00
Salvo 'LtWorf' Tomaselli
722b164d56 Fix Python code generator to correctly escape strings
A string that contained escape symbols was not correctly escaped
when generating the Python code for the selection.

This could cause selection operations to fail to compile.
2016-04-23 15:19:32 +02:00
Salvo 'LtWorf' Tomaselli
92990039ac Test on joins
To hit on the issue just fixed.
2016-04-19 17:48:54 +02:00
Salvo 'LtWorf' Tomaselli
4d1b610605 Correct optimization over selection and product 2016-04-19 17:47:36 +02: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 +02:00
Salvo 'LtWorf' Tomaselli
6fe70e12fe Some failures were crashing the test driver
Some tests are meant to fail, however some failures were actually
crashing the test driver.

This fixes the issue.
2016-04-18 16:28:56 +02:00
Salvo 'LtWorf' Tomaselli
eb6a033298 CHANGELOG 2016-04-15 15:00:31 +02:00
Salvo 'LtWorf' Tomaselli
d751de8a75 Test new optimization 2016-04-15 14:56:54 +02:00
Salvo 'LtWorf' Tomaselli
3779a1de81 Remove useless joins in optimization
Along with removing intersections and unions, this
removes useless joins in the same function.
2016-04-15 14:56:09 +02:00
Salvo 'LtWorf' Tomaselli
a5aef4a0fe CHANGELOG 2016-04-15 14:45:33 +02:00
Salvo 'LtWorf' Tomaselli
7e61120beb Make failure in unions commutative
Right now, because of how _rearrange was implemented, a union with a subset
of attributes of another union could be united with it, but not viceversa.

This change makes both operations fail, hence making the union commutative
again.

Correct unions were always commutative.
2016-04-15 14:43:18 +02:00
Salvo 'LtWorf' Tomaselli
696361af4b Test that failure in union is commutative 2016-04-15 14:42:51 +02:00
Salvo 'LtWorf' Tomaselli
2f12a0e89d Add possibility to test queries that are supposed to fail
This is supposed to be used for all malformed queries and all the ones
that are invalid for incompatibility reason, and make sure that they
actually fail.
2016-04-15 14:36:51 +02:00
Salvo 'LtWorf' Tomaselli
cc6dfca64c Prepare for new version 2016-04-10 08:52:22 +02:00
Salvo 'LtWorf' Tomaselli
7f1004712a Bump Standards-Version 2016-04-09 17:43:55 +02:00
Salvo 'LtWorf' Tomaselli
4e780373d8 d/changelog 2016-04-09 15:59:10 +02:00
Salvo 'LtWorf' Tomaselli
8845f858d5 New watchfile
Copied from weborf
2016-04-09 15:59:00 +02:00
Salvo 'LtWorf' Tomaselli
457899bc1b CHANGELOG 2016-04-09 11:40:02 +02: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 +02:00
Salvo 'LtWorf' Tomaselli
6bc219c635 Avoid proliferation of parenthesis
The str() function of the parse tree now emits expressions
with much less parenthesis.

This should allow optimized queries to be more readable.
2016-04-09 11:11:25 +02:00
Salvo 'LtWorf' Tomaselli
e4e3eae8ce CHANGELOG 2016-04-09 10:09:08 +02: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 +02:00
Salvo 'LtWorf' Tomaselli
002aca3f68 Only holds for union
Does not hold for other operations.
2016-04-09 10:07:44 +02:00
Salvo 'LtWorf' Tomaselli
3139031611 CHANGELOG 2016-03-31 21:46:00 +02:00
Salvo 'LtWorf' Tomaselli
1c9c9a7195 Remove osx mention from README
No apple user is ever going to make a contribution and tell me how to run
this thing on osx. Let's forget about it.
2016-03-31 21:45:59 +02:00
Salvo 'LtWorf' Tomaselli
85f2b3c3ee Error message when compilation fails
Within selection, the compilation of the string into python bytecode
can fail.

This shows an appropriate message.
2016-03-31 21:45:59 +02:00
Salvo 'LtWorf' Tomaselli
7661d21da2 Better message for missing fields
Happens in projections, when trying to use a field that does not exist.
2016-03-31 21:45:59 +02:00
Salvo 'LtWorf' Tomaselli
72318bb0e8 Updated copyright notices
With the last year of modification of the file in question.
2016-03-31 21:45:59 +02:00
Salvo 'LtWorf' Tomaselli
6b4cfaa01d Added my public key in the debian/ directory
Further releases will be signed and the debian watch will check
the signature. So it is necessary to add the public key.
2016-03-31 20:28:53 +02:00
Salvo 'LtWorf' Tomaselli
f0b043f85b Added release target
The release target is the same as make dist, but it signs the resulting
archive with the default PGP key.
2016-03-31 20:27:43 +02:00
Salvo 'LtWorf' Tomaselli
13b57a77c3 Bumped Standards-Version to 3.9.7 2016-03-31 20:19:44 +02:00
Salvo 'LtWorf' Tomaselli
d923311524 Prepare debian changelog 2016-03-31 20:17:42 +02:00
Salvo 'LtWorf' Tomaselli
ef209ea93f Do not crash on network error while sending survey 2016-03-21 14:50:50 +01:00
Salvo 'LtWorf' Tomaselli
f12e35fef9 Do not crash in case of connection failure
Return None to indicate a network failure.
2016-03-21 14:40:23 +01:00
Salvo 'LtWorf' Tomaselli
cf2115b383 Do not crash if the returned remote version is None
That happens in case of errors.

Now it correctly shows an error.
2016-03-21 14:39:35 +01:00
Salvo 'LtWorf' Tomaselli
64496c4ea1 Desktop file accepts parameters 2016-03-15 16:56:30 +01:00
Salvo 'LtWorf' Tomaselli
f19d6c9e5f Prepare for next version 2016-03-02 00:31:31 +01:00
Salvo 'LtWorf' Tomaselli
6f61d51b3a changelog 2016-03-02 00:13:04 +01:00