Commit Graph

897 Commits

Author SHA1 Message Date
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
Salvo 'LtWorf' Tomaselli
af7901423c C++ redistributable installed automatically.
Rather than forcing the user to click next, and showing them the
scary fail message if the library is already up to date, the
command line parameters make the redistributable require no
interaction.
2016-03-02 00:11:39 +01:00
Salvo 'LtWorf' Tomaselli
262d92290f Prepare for next version
Change the version string everywhere, for the next release
2016-01-06 00:30:10 +01:00
Salvo 'LtWorf' Tomaselli
e7a8235d10 Updated copyright date range in d/ 2016-01-04 19:21:57 +01:00
Salvo 'LtWorf' Tomaselli
509fb0a8e7 New debian changelog 2016-01-04 17:10:00 +01:00
Salvo 'LtWorf' Tomaselli
ce783a4453 Vertical policy adjusted
Adjusted what happens when the history is hidden.
2016-01-04 12:07:22 +01:00
Salvo 'LtWorf' Tomaselli
ba8453c923 Print optimization steps
Prints the various steps on stdout, quite nice to
be able to understand what is happening internally.
2016-01-03 19:47:53 +01:00
Salvo 'LtWorf' Tomaselli
ce348149f1 Better code style 2016-01-03 19:43:38 +01:00
Salvo 'LtWorf' Tomaselli
5563e1cafd Do not add query to history if it was the last
Maybe people just press enter twice.

This is the behaviour of bash.
2016-01-03 17:32:34 +01:00
Salvo 'LtWorf' Tomaselli
1dd1298ee0 New optimization: useless projection
If a projection is done on every attribute it is useless and
can be removed.

The new optimization does this.
2016-01-03 17:15:04 +01:00
Salvo 'LtWorf' Tomaselli
17410a0b19 Styled code 2016-01-03 16:55:10 +01:00
Salvo 'LtWorf' Tomaselli
d384a902cf Removed redundant check
Assuming that the query is correct, the removed condition must
always be true.
2016-01-03 12:39:48 +01: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 +01:00
Salvo 'LtWorf' Tomaselli
eadcca6da7 Print traceback in case of exception
The text of the exception is pretty much useless alone,
this makes it print the entire traceback.
2016-01-03 10:03:07 +01:00
Salvo 'LtWorf' Tomaselli
0dd2ef2f1d Style 2016-01-03 09:28:45 +01:00
Salvo 'LtWorf' Tomaselli
474bea6ff5 Re-unite query execution functions
For multi-line and single-line. After the change with the assignment
they are basically the same and there was no longer need
to have them separate in two functions.
2016-01-03 09:18:31 +01:00
Salvo 'LtWorf' Tomaselli
03ae3e0bab s/outher join/outer join/ 2016-01-03 09:05:15 +01:00
Salvo 'LtWorf' Tomaselli
2ecf31bd57 Remove TODO file
I am tracking things with github bugs now
2016-01-03 09:04:23 +01:00
Salvo 'LtWorf' Tomaselli
faf636f61d Changelog 2016-01-02 16:26:09 +01:00
Salvo 'LtWorf' Tomaselli
67db598b02 Shortcut to show relation
Pressing space on a selected relation shows it.

I wanted to use 'Enter' but it doesn't work.

This closes #5
2016-01-02 16:24:57 +01:00
Salvo 'LtWorf' Tomaselli
746ae6af09 Can hide history box
If it bothers you, it is possible to hide the history box.
2016-01-02 16:11:20 +01:00
Salvo 'LtWorf' Tomaselli
6315bebc61 Fix crash in case of empty history
Without that check, an empty history causes a crash
2016-01-02 15:59:02 +01:00
Salvo 'LtWorf' Tomaselli
8ccf4d51a4 Shortcuts to run and clear queries 2016-01-02 15:39:31 +01:00
Salvo 'LtWorf' Tomaselli
2a4bcd2a8b New shortcuts for optimization 2016-01-02 15:34:56 +01:00
Salvo 'LtWorf' Tomaselli
a30aac5f5b Remove result text box
It was not really easy to write the name for the result
in a separate box, and it would create a lot of garbage
results, by creating a new one per every query.

Now single lines queries can contain assignments, and if not
a default relation named 'last_' is used to hold the last result.
2016-01-02 15:28:17 +01:00
Salvo 'LtWorf' Tomaselli
fd1e4610fa Use split_query function
Instead of having it duplicated there
2016-01-02 15:27:51 +01:00
Salvo 'LtWorf' Tomaselli
e3877a4682 Added function to split an assignment expression
In the UI, a common pattern was to check if a query was
prefixed by an assignment and in that case, assign the result
to the given name.

This function puts this in a common place, so it can be used from
all the parts where it is needed.
2016-01-02 15:25:43 +01:00
Salvo 'LtWorf' Tomaselli
53b158d25e Changes 2016-01-02 12:37:20 +01:00