224 lines
9.5 KiB
Plaintext
224 lines
9.5 KiB
Plaintext
3.0
|
|
- By default relations are saved as json. This allows to keep the type
|
|
- Dates can no longer be added or subtracted
|
|
- Types are now inferred by column, no longer by cell
|
|
- Relations now use frozenset internally and are immutable
|
|
- Refactored parser to use better typing
|
|
- Refactored and fixed some optimizations
|
|
- Added more test cases
|
|
- Improved survey sending
|
|
- Prevent relation/field names from being reserved keywords
|
|
- Fixed issue in cli where loading an invalid file would lead to a crash
|
|
- Added typing hints throughout the code
|
|
|
|
2.5
|
|
- Add new class of tests for queries that are supposed to fail
|
|
- Changes to make failures in commutative operators commutative too
|
|
- Added new optimization to remove useless joins
|
|
- Correct optimization over selection and product
|
|
- Fix Python code generator to correctly escape strings
|
|
- Improved multi-line text editor
|
|
- Multi-line mode has support for optimizations
|
|
- Workaround a QSettings bug so that sessions work again
|
|
- "Save" button works on the relation selected in the list, instead of the
|
|
one shown in the central table
|
|
|
|
2.4
|
|
- Improve error reporting
|
|
- Release is now signed with PGP
|
|
- Doesn't crash on network errors
|
|
- Fixed optimization introduced in 2.2 that did not hold in all cases
|
|
- Better handling of parenthesis inside string literals
|
|
- Emit less parenthesis in optimized queries
|
|
|
|
2.3
|
|
- Very small release. The windows setup now installs the C++ library
|
|
automatically.
|
|
- The setup was re-made on windows 10, so now it works properly on windows 10
|
|
and all the symbols are shown.
|
|
- If you don't use windows, this release is identical to the previous.
|
|
|
|
2.2
|
|
- Added again make install target
|
|
- Ctrl+C in the terminal will terminate the GUI
|
|
- UI indicates ongoing processing with a label
|
|
- Added new optimizations
|
|
- Added shortcuts within the UI
|
|
- History can be navigated with up/down arrows
|
|
- Single line edit mode allows for the resulting relation to be written
|
|
within the query textbox itself.
|
|
|
|
2.1
|
|
- Introduced sessions; GUI loads the same relations of the previous time
|
|
- redesigned GUI, to fit in smaller screens
|
|
- Fix bug in tokenizer
|
|
- Fixed bug where select on relations with '---' values would always fail
|
|
- Improve error reporting
|
|
- Fix bug in code to check for new version
|
|
- Performance improvements
|
|
- More Pythonic name for classes (API is compatible with version 2.0)
|
|
|
|
2.0
|
|
- Fix bug in relational-cli that made it crash when an exception was raised
|
|
- Point to new website
|
|
- Switch to Python3 and drop support for Python2
|
|
- Switch to Qt5
|
|
- Radical change of language. The UNICODE symbols used previously were meant for a
|
|
Canadian Aborigenal script. Now switched them to use UNICODE math symbols.
|
|
- Since the language is changing, take the chance to use better symbols for JOIN
|
|
- GUI has a new mode to insert multiple queries at once, assigning them to variables
|
|
- Automatic casting is now faster
|
|
- GUI can load multiple relations at once
|
|
- GUI will only assign default names to loaded relations, without prompting the user
|
|
|
|
1.2
|
|
- Better tokenizer, gives more indicative errors
|
|
- Parser gives more indicative errors
|
|
- Improved select_union_intersect_subtract optimization to avoid parenthesis whenever possible
|
|
- Moved feedback service, and added the code for it
|
|
- Different way of checking the latest version
|
|
- Removed support for pyside
|
|
|
|
1.1
|
|
- Incorrect relational operations now raise an exception instead of returning None
|
|
- Forces relations to have correct names for attributes
|
|
- Colored output in readline mode
|
|
- Can send email in survey
|
|
- Can check for new version online
|
|
- Can use both PySide and PyQt
|
|
- Removed buttons for adding and deleting tuples
|
|
- Can edit relations within the GUI
|
|
- API migrated to unicode (instead of utf-8 encoded strings)
|
|
|
|
1.0
|
|
- Adds history in the GUI
|
|
- Adds menus to the GUI
|
|
- Checks if given name to relations are valid
|
|
- Discards the old and not so functional tlb format
|
|
- Float type recognition is more robust, now handled using a regexp
|
|
- Date type recognition is more robust, now using a combination of regexp plus date object
|
|
- Integer type recognition now allows negative numbers in relations
|
|
- Rename operations are now much faster, content won't be copied unless subsequent updates, insert, updates or deletes will occur
|
|
- Added testsuite
|
|
- Module parallel does something, can execute queries in parallel
|
|
- Implemented select_union_intersect_subtract general optimization
|
|
- Removed encoding from .desktop file (was deprecated)
|
|
- Added manpage for relational-cli
|
|
- Internally uses set instead of lists to describe relation's content
|
|
- Tuples are internally mapped on tuples and no longer on lists
|
|
- Set hash method for the classes
|
|
- Parsing of strings representing dates is now cached, eliminating the need for double parse
|
|
- Fixed python expression tokenization, now uses native tokenizer
|
|
- Fixed optimization involving selection and parenthesis in the expression (Rev 260)
|
|
- Fixed futile_union_intersection_subtraction optimization that didn't work when selection operator was in the left subtree (Rev 261)
|
|
- Restyle of the GUI, splitters added
|
|
|
|
0.11
|
|
- Font is set only on windows (Rev 206)
|
|
- Improved futile_union_intersection_subtraction in case of A-A, when A is a sub-query (Rev 208)
|
|
- Improved futile_union_intersection_subtraction, handles when a branch of subtracion has a selection (Rev 209)
|
|
- Can load relations specified in command line (Rev 210)
|
|
- Using fakeroot instead of su in make debian (Rev 214)
|
|
- Fixed problem with float numbers with selection of certain relations (Rev 215)
|
|
- Added .desktop file on svn (Rev 216)
|
|
- Automatically fills some fields in the survey (Rev 217)
|
|
- When a query fails, shows the message of the exception (Rev220)
|
|
- Improved tokenizer for select in optimizations, now can accept operators in identifiers (Rev 220)
|
|
- Uses getopt to handle the command line in a more standard way
|
|
- Organized code so the ui can be either qt or command line
|
|
- Does not depend on QT anymore
|
|
- Added readline user interface
|
|
- Added division operator
|
|
|
|
0.10
|
|
- In optimizer, added a function that tokenizes an expression
|
|
- Document about complexity of operations
|
|
- Bug: error in update operation, it changed the original tuple, so also other relations using the same tuple would change. Now it copies it.
|
|
- Added make install and uninstall
|
|
- Optimizer generate a tree from the expression
|
|
- Uses python-psyco when it is available
|
|
- Ability to perform optimizations from GUI
|
|
- Able to (temporarily) store queries with a name
|
|
- Mechanism to add new kind of optimizations, without having to edit all the code
|
|
- Implemented duplicated_select general optimization
|
|
- Implemented down_to_unions_subtractions_intersections general optimization
|
|
- Implemented duplicated_projection general optimization
|
|
- Implemented selection_inside_projection general optimization
|
|
- Implemented subsequent_renames general optimization
|
|
- Implemented swap_rename_select general optimization
|
|
- Implemented selection_and_product specific optimization
|
|
- Added stub for converting SQL to relational algebra
|
|
- Implemented futile_union_intersection_subtraction general optimization
|
|
- Implemented swap_rename_projection general optimization
|
|
- Replaced old relational algebra to python compiler with new one based on the new tokenizer/parser (Rev 188)
|
|
- Code refactory to move the new parser into parser.py out of optimizer.py, that will still be compatible (Rev 190)
|
|
- Selection can now accept expressions with parenthesis
|
|
|
|
0.9
|
|
- Splitted into independent packages (gui and library)
|
|
- Simplified makefile, bringing outside files for debian package
|
|
- Default source package now doesn't contain informations to generate debian/mac packages
|
|
- "make source_all" generates the old style tarball containing all the files
|
|
- Bug: relational script installed with debian package now passes arguments to the python executable
|
|
- Insert and delete from GUI are now done on the displayed relation, not on the selected one
|
|
|
|
0.8
|
|
- Added __eq__ to relation object, will compare ignoring order.
|
|
- New default relation's format is csv, as defined in RFC4180
|
|
- Converted sample's relations to csv
|
|
- Deb postinstall generates optimized files, this will increase loading speed
|
|
- Relation module has SQL-like delete
|
|
- Relation module has SQL-like update
|
|
- Relation module has SQL-like insert
|
|
- GUI can be used to insert and delete tuples
|
|
- Showing fields of selected relation will work with themes different than oxygen
|
|
|
|
0.7
|
|
- Added README
|
|
- Expressions between quotes aren't parsed anymore
|
|
- When adding a relation, the file must be chosen 1st, and then the default relation's name is the same as the filename
|
|
- Changed internal rename method. Now uses a dictionary
|
|
- Optimized saving of relations
|
|
- Can save relations from gui
|
|
- Outer join methods simplified
|
|
- Form to send a survey
|
|
- Makefile to create .deb package
|
|
|
|
0.6
|
|
- Fixes to run on Mac OsX
|
|
- Added Makefile
|
|
- Able to create .app MacOsX files using "make app"
|
|
- Able to create tar.gz file containing Mac OsX application and samples using "make mac"
|
|
|
|
0.5
|
|
- Added support for float numbers
|
|
- Added support for dates
|
|
|
|
0.4
|
|
- Created GUI
|
|
|
|
0.3
|
|
- Added support for parenthesis in relational queries
|
|
|
|
0.2
|
|
- Created parser module
|
|
- Created function to parse expression with operators without parameters
|
|
- Created recoursive function to parse expressions
|
|
|
|
0.1
|
|
- Created header class to handle attributes
|
|
- Created relation class
|
|
- Added union
|
|
- Added intersection
|
|
- Added difference
|
|
- Added product
|
|
- Added projection
|
|
- Added rename
|
|
- Projection can use a list or several parameters
|
|
- Added selection
|
|
- Added left join
|
|
- Added right join
|
|
- Added capability of operation even if attributes aren't in the same order
|
|
- Added full outer join
|
|
|