Skip to content

Releases: elliotchance/vsql

v0.28.5

23 Dec 16:40
1a22339
Compare
Choose a tag to compare
language: Integers now use the smallest exact type (#184)

> ISO/IEC 9075-2:2016(E), 5.3 <literal>:
> 22) The declared type of an <exact numeric literal> ENL is an
> implementation-defined exact numeric type whose scale is the number of
> <digit>s to the right of the <period>. There shall be an exact numeric
> type capable of representing the value of ENL exactly.

I misunderstood "numeric" to mean the NUMERIC type, but clearly they
mean any exact numeric type (which includes SMALLINT, INTEGER and
BIGINT).

Integers will now use the smallest type which makes casting up to
super-types much more straight forward.

Also, SQL tests will not stop on the first failure making it much easier
to cleanup multiple failing tests.

v0.28.4

23 Dec 09:15
50beee4
Compare
Choose a tag to compare
testing: Directive to expose types (#183)

Use the `/* types */` directive to include each value type in the
output. This is useful to verify that literals or expressions are being
represented as the expected type.

v0.28.3

22 Dec 08:00
784da6b
Compare
Choose a tag to compare
testing: Better support for Unicode and whitespace characters (#181)

testing: Better support for Unicode and white space characters

Unicode characters can be placed in tests as regular characters.
However, due to editors/IDEs sometimes handling white space in different
ways you can add a placeholder for a specific Unicode point using
`<U+####>`.

This will be replaced with the correct character before the test runs.
This is only a feature of SQL Tests, so will not work in any other
context.

The SQL standard names specific white space characters that must be
valid separators, we already supported this but now they are codified
into tests using the new syntax above.

v0.28.2

21 Dec 21:54
9106d14
Compare
Choose a tag to compare
testing: Comments are now supported (#182)

Not sure why it took me so long to implement, but you can now add
comments to tests by using `-- #`.

v0.28.1

21 Dec 21:04
6514f2c
Compare
Choose a tag to compare

v: Update for V 0.4.3 ed754cf (#177)

This is mostly just formatting changes, but there is one remaining notice that cannot be fixed at this time: vlang/v#20245

v0.28.0

04 Nov 19:04
ff88202
Compare
Choose a tag to compare
Overhaul eval into a compiler (#176)

This replaces the existing but separate eval(), eval_type() and
reoslve_identifiers() with a much easier and more flexible single
compile() function that encapsulates all aspects of evaluation and
types.

Strictly speaking, this is not a compiler in the traditional sense, but
it does allow us to separate the compile-time logic and the runtime
evaluation with a closure. So apart from simplifying the logic, it
also makes it more efficient by not having to recompile certain parts of
every row.

One more positive side effect from removing separate
resolve_identifier() stage is that we can make the EXPLAIN look a lot
less verbose and natural against the original query.

v0.27.21

01 Nov 23:55
05e7ed3
Compare
Choose a tag to compare
GROUP BY: Remove explicit is_agg() (#175)

This was left over from the previous refactoring. While the previous
error description is more helpful we must rely on the fallback error
until a better solution can be added.

v0.27.20

31 Oct 06:30
7827da2
Compare
Choose a tag to compare
chore: Cleanup statements (#173)

Move the execute logic to the relevant types and files.

v0.27.19

31 Oct 03:10
3c266d1
Compare
Choose a tag to compare
chore: Remove vsql/grammar.v (#172)

This is a generated file. I kept it in initially so it didn't need to be
generated but that doesn't need to be the case anymore.

v0.27.18

31 Oct 02:29
6d9a2d5
Compare
Choose a tag to compare
chore: Remove Expr (#171)

This is a huge refactoring to remove the Expr type so that the AST is
now represented as the same structure as the SQL standard and types have
been moved the relevant files.