Skip to content

Releases: elliotchance/vsql

v0.27.12

24 Oct 04:09
c05621f
Compare
Choose a tag to compare
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

19 Oct 03:33
6841be0
Compare
Choose a tag to compare
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

19 Oct 03:31
90cad24
Compare
Choose a tag to compare
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

15 Oct 22:16
6da3ebf
Compare
Choose a tag to compare
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

15 Oct 21:39
99198f5
Compare
Choose a tag to compare
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

31 May 02:44
210c29f
Compare
Choose a tag to compare
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

14 Mar 03:16
00c0c4a
Compare
Choose a tag to compare
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

07 Mar 15:01
908d3fa
Compare
Choose a tag to compare
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

04 Mar 21:34
0f10613
Compare
Choose a tag to compare
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

04 Mar 07:13
Compare
Choose a tag to compare
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