v0.3.1
Added
-
rules line and block comments
-
specs for comment types
-- Line comment /* * Block comment /* nested comment */ */
-
rules for
CREATE INDEX -
specs for
CREATE INDEXstatement -
CREATE TRIGGERsyntax and AST -
specs for
CREATE TRIGGERstatement -
specs for some expression grouping issues that were experienced when using binary and unary expressions along with
AND,ORCREATE INDEX `bees`.`hive_state` ON `hive` (`happiness` ASC, `anger` DESC) WHERE `happiness` ISNULL AND `anger` > 0
-
CREATE VIEWsyntax and AST -
specs for
CREATE VIEWstatement -
CREATE VIRTUAL TABLEsyntax and AST -
specs for
CREATE VIRTUAL TABLEstatement -
allow subquery in parenthesis within
FROMclause -
New specs: Basic Drop Table, Basic Drop Trigger, Basic Function, Basic Subquery, Basic Union, Create Check 1, Create Check 2, Create Foreign Key 1, Create Foreign Key 2, Create Primary Key 1, Create Table Alt Syntax, Expression Like, Expression Table 1, Expression Unary 1, Function Mixed Args, Insert Into Default, Join Types 1, Join Types 2, Select Parts 1, Select Qualified Table 1, Transaction Rollback
-
LICENSEfile added -
.npmignorefile added
Changed
-
updated rules and specs to remove use of
modifierproperty in AST -
allow multiple expressions for
GROUP BYclauseSELECT color, type, name FROM hats GROUP BY type, color
-
changed AST for create table, constraints, joins, select parts, transactions, unions, triggers to pass new specs
-
INSERTstatementVALUESclause AST normalized for value lists andDEFAULT VALUES{ "type": "values", "variant": "list", "values": [] }, { "type": "values", "variant": "default", "values": null } -
normalized AST across all column constraints and table constraints. all table constraints are
{"type": "definition", "variant": "constraint"}and contain adefinitionarray that contains the constraint. the constraint indefinitionshas the same format as the column constraint definition. -
updated package dependencies
-
index.jsfile moved to file root, duplicate copies inlib/andsrc/removed -
going to try and keep (most significant) version numbers synchronized between
sqlite-parserandsqlite-treeto avoid confusion going forward
Fixed
-
some grouping errors for unary operators, unary null and binary concatenation
-
The
CREATE VIRTUAL TABLEstatement previously only worked with expression arguments. Fixed by checking for a column name followed by a type definition or column constraint before assuming the type is an expression list, if these things are found, then treat the arguments as a set of source definitions as in a creation statement for a table.CREATE VIRTUAL TABLE happy_table USING happy_module(...); id int -- treat as definitions for CREATE TABLE x != 2 -- treat as an expression list
-
allow for nested parenthesis
-
allow multiple binary expressions and concatenation operators within parenthesis
SELECT * FROM hats WHERE hat OR (shirt AND (shoes OR wig) AND pants)
Notes
-
CREATE VIRTUAL TABLEcurrently only works with expression arguments and does not support passing column definitions and/or table constraint definitions as is allowed in the SQLite spec for virtual table module arguments.CREATE VIRTUAL TABLE vtrl_ads USING tbl_creator( id int PRIMARY KEY, name varchar(50), category varchar(15), cost int);