Commit Graph

798 Commits (4dc7f131f34486afa2bc4e87de77677f146b64e2)
 

Author SHA1 Message Date
Salvo 'LtWorf' Tomaselli 7f1004712a Bump Standards-Version 2016-04-09 17:43:55 +07:00
Salvo 'LtWorf' Tomaselli 4e780373d8 d/changelog 2016-04-09 15:59:10 +07:00
Salvo 'LtWorf' Tomaselli 8845f858d5 New watchfile
Copied from weborf
2016-04-09 15:59:00 +07:00
Salvo 'LtWorf' Tomaselli 457899bc1b CHANGELOG 2016-04-09 11:40:02 +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 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 +07:00
Salvo 'LtWorf' Tomaselli e4e3eae8ce CHANGELOG 2016-04-09 10:09:08 +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 002aca3f68 Only holds for union
Does not hold for other operations.
2016-04-09 10:07:44 +07:00
Salvo 'LtWorf' Tomaselli 3139031611 CHANGELOG 2016-03-31 21:46:00 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 13b57a77c3 Bumped Standards-Version to 3.9.7 2016-03-31 20:19:44 +07:00
Salvo 'LtWorf' Tomaselli d923311524 Prepare debian changelog 2016-03-31 20:17:42 +07:00
Salvo 'LtWorf' Tomaselli ef209ea93f Do not crash on network error while sending survey 2016-03-21 14:50:50 +07: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 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 64496c4ea1 Desktop file accepts parameters 2016-03-15 16:56:30 +07:00
Salvo 'LtWorf' Tomaselli f19d6c9e5f Prepare for next version 2016-03-02 00:31:31 +07:00
Salvo 'LtWorf' Tomaselli 6f61d51b3a changelog 2016-03-02 00:13:04 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 262d92290f Prepare for next version
Change the version string everywhere, for the next release
2016-01-06 00:30:10 +07:00
Salvo 'LtWorf' Tomaselli e7a8235d10 Updated copyright date range in d/ 2016-01-04 19:21:57 +07:00
Salvo 'LtWorf' Tomaselli 509fb0a8e7 New debian changelog 2016-01-04 17:10:00 +07:00
Salvo 'LtWorf' Tomaselli ce783a4453 Vertical policy adjusted
Adjusted what happens when the history is hidden.
2016-01-04 12:07:22 +07: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 +07:00
Salvo 'LtWorf' Tomaselli ce348149f1 Better code style 2016-01-03 19:43:38 +07: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 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 17410a0b19 Styled code 2016-01-03 16:55:10 +07: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 +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 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 +07:00
Salvo 'LtWorf' Tomaselli 0dd2ef2f1d Style 2016-01-03 09:28:45 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 03ae3e0bab s/outher join/outer join/ 2016-01-03 09:05:15 +07:00
Salvo 'LtWorf' Tomaselli 2ecf31bd57 Remove TODO file
I am tracking things with github bugs now
2016-01-03 09:04:23 +07:00
Salvo 'LtWorf' Tomaselli faf636f61d Changelog 2016-01-02 16:26:09 +07: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 +07: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 +07: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 +07:00
Salvo 'LtWorf' Tomaselli 8ccf4d51a4 Shortcuts to run and clear queries 2016-01-02 15:39:31 +07:00
Salvo 'LtWorf' Tomaselli 2a4bcd2a8b New shortcuts for optimization 2016-01-02 15:34:56 +07: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 +07:00
Salvo 'LtWorf' Tomaselli fd1e4610fa Use split_query function
Instead of having it duplicated there
2016-01-02 15:27:51 +07: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 +07:00