Releases: elliotchance/vsql
Releases · elliotchance/vsql
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.
v0.27.17
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
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
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
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
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.