This repository was archived by the owner on Jul 15, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 59
This repository was archived by the owner on Jul 15, 2021. It is now read-only.
Create first public release of sqlite-parser (v0.10.0) #2
Copy link
Copy link
Closed
Milestone
Description
Milestones for sqlite-parser
[0.10.0] Finished
-
Set proper rules for identifier names, e.g.:
[a-z0-9\_\-]+
-
Interactive demo editor showing SQL and corresponding AST
-
Missing 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
-
Expression grouping issues
-
Grouping with unary and binary expressions
`anger` != null AND NOT `happiness`
`happiness` NOT NULL AND `anger` > 0
`happiness` IS NOT NULL AND `anger` > 0
`happiness` ISNULL AND `anger` >
`anger` > 0 AND `happiness` IS NOT NULL
NOT `happiness` AND `anger` > 0
NOT `happiness` OR ~`ANGER` AND `anger` IS NOT 0
-
Grouping with parenthesis
SELECT * FROM hats WHERE (1 != 2 OR 3 != 4) AND ( 3 == 3 )
SELECT * FROM hats WHERE hat OR (shirt AND (shoes OR wig) AND pants)
-
-
Remove
modifier
key from all parts of AST and standardize asconditions
-
Create
INDEX
- Has spec
-
Create
TRIGGER
- Has spec
-
Create
VIEW
- Has spec
-
Create
VIRTUAL
table- Has spec
- This currently 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.
- FIXED: 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
- See: Virtual Tables
-
Need to display correct error location when there are multiple statements in the input SQL
-
comment
rules should not usesym_*
rules since you should not be able to put a space between the two symbols at the start and/or end of a comment.SELECT * - - not valid but is being accepted
Metadata
Metadata
Assignees
Labels
No labels