Skip to content

Releases: elliotchance/vsql

v0.27.17

29 Oct 23:13
e46e29e
Compare
Choose a tag to compare
VALUES: Fix for multiple rows (#170)

There was a misunderstanding the SQL standard that:

    VALUES 1, 2, 3;

Should be treated as:

    VALUES ROW(1, 2, 3);

Which is incorrect, it must be treated as:

    VALUES ROW(1), ROW(2), ROW(3);

v0.27.16

26 Oct 03:05
390c2fe
Compare
Choose a tag to compare
chore: Refactor <datetime value function> (#169)

As a longer term effort to remove ast.v, expr.v and eval.v, this moves
<datetime value function> and its subtypes into their respective
locations.

v0.27.15

26 Oct 02:38
d490ba4
Compare
Choose a tag to compare
chore: Refactor <unsigned value specification> (#168)

As a longer term effort to remove ast.v, expp.v and eval.v, this moves
<unsigned value specification> and its subtypes into their respective
locations.

v0.27.14

25 Oct 14:56
9c801c0
Compare
Choose a tag to compare
chore: Refactor <predicate> (#167)

As a longer term effort to remove ast.v and eval.v, this moves
<predicate> and its subtypes into their respective locations.

This also fixes a bug where the Makefile will no regenerate the
grammar.bnf.

v0.27.13

25 Oct 05:27
3f6b2f9
Compare
Choose a tag to compare
Remove grammar.bnf (#166)

The grammar is now split into source files that represent different
sections of the SQL standard. This will make it much more manageable as
the grammar and parsing logic fills out.

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