Releases: elliotchance/vsql
Releases · elliotchance/vsql
v0.27.12
Various fixes for binary expressions (#165) The SQL standard states that arithmetic must result in the "most specific type". This implementation is more correct, but is incomplete. I'll keep the complete implementation for a later diff after NUMERIC and DECIMAL has been included. This also updates predicates to use the SQL-defined version instead of the existing functions, adds some missing unary operators and fixes a formatting error for some REAL values.
v0.27.11
Remove .is_unknown for BOOLEAN (#164) This is only needed for interval storage, it's not distinct from the NULL property of BOOLEAN itself. There are no changes needed to the database version. This also found (and fixes) two cases with incorrect BOOLEAN logic.
v0.27.10
Improve comparison predicate logic (#163) Replace existing Value.cmp(), with the full rules layed out by ISO/IEC 9075-2:2016(E), 8.2, <comparison predicate> SQL Standard E011-06
v0.27.9
ci: Sort grammar rules (#161) It's cleaner, easier to merge and find rules. The build will fail if the rules are not sorted.
v0.27.8
ci: Run tests against any version of V (#160) There are some minor syntax changes to bring it up to V 0.4.2 4bc9a8f. This also adds a new environment variable that lets you run tests at any version (tag or commit), such as: OLDV=0.3.5 make sql-test
v0.27.7
sequences: Fix transaction isolation (#157) Previously the sequence definition and the value were stored in the same record. However, the value needs to be persistent outside of any transaction isolation. To work around this, the definition could not be rolled back with the transaction to prevent the value from also being rolled back. This separates the next value so we no longer have this caveat, but it requires a bump in the DB comparability version.
v0.27.6
Fixes for types and explicit casting (#156) Up until now, explicit casting (using the CAST function) has worked by setting up a map of known conversions and their respective functions. However, subclause 9.2, "Store assignment", in ISO/IEC 9075-2 outlines a very detailed set of steps when converting from one type to another. - Fix some specific nuances regarding CHARACTER to/from VARYING CHARACTER conversions with spaces. - Fix some specific nuances with numeric conversions. - Character literals (eg. 'foo bar') are now correctly typed as CHARCATER(n) (according to the standard) instead of CHARACTER VARYING(0). - new_character_value() and new_varchar_value() no longer take a length. The length is determined from the string itself. This is easier from an API perspective but also more correct to the value being created. - Some SQLSTATE warnings should be errors (or visa-versa). This has been corrected from the subclause rules.
v0.27.5
Adding warnings (#155) Warnings are SQLSTATE errors that do not stop the execution. For example, if a value must be truncated during a runtime CAST. Warnings are not ever reset, although only 100 of the most recent warnings are retained. This is to be able to collect all warnings during some arbitrary process defined by the application. Instead, you should call clear_warnings() before starting a block of work.
v0.27.4
docker: Improvements (#152) - Added more detailed documentation for using docker. - As ctrl+C doesn't forward the signal with `docker run`, you can now use `exit` to exit the shell. - Errors are now formatted correctly and do not cause the CLI to exit. - Hopefully, this fixes a stdout bug where "vsql> " appears after the input. Although, I cannot test this easily on macOS.
v0.27.3
Adding Docker (#151) Releases will now push a docker image. This is a really easy way to get up and running: docker run -it elliotchance/vsql:latest cli mydb.vsql Fixes #150