Releases: elliotchance/vsql
Releases · elliotchance/vsql
v0.28.5
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
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
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
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
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
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
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
chore: Cleanup statements (#173) Move the execute logic to the relevant types and files.
v0.27.19
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
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.