1
Fork 0
simple-sql-parser/TODO

104 lines
2.5 KiB
Plaintext

next release:
more symbolic operators, array access a[5]? don't think this is
standard sql, if not, leave for now. There is something about
arrays in sql:2008
row ctor: row(a,b) is fine, but also when there is 2 or more elements,
the word row can be omitted: (a,b)
fix lateral binding issue
window frames and named windows
review tests to copy from hssqlppp
order by nulls first/last
extend case
group by extensions. Question: some of the syntax can be represented
by app and row ctor, should this be reused or new syntax created
(the standard has special syntax for cube and rollup).
collate? -> postfix operator which binds very tightly:
a < 'foo' collate 'C'
->
Op "<" [Iden "a", SpecialOp "collate" [StringLit 'foo', StringLit
'C']]
also postfix in order by:
select a from t order by a collate 'C': add to order by syntax, one
collation per column
much more table reference tests, for joins and aliases etc.
proper character sets for identifiers
review internal sql collection for more syntax/tests
all ansi sql operators
review syntax to replace maybe and bool with better ctors
----
add to website: pretty printed tpch, maybe other queries as
demonstration
demo: convert tpch to sql server syntax exe processor
----
dialect framework
try to implement fixity without the hse hack
position annotation?
review abstract syntax (e.g. combine App with SpecialOp?)
----
Later general tasks:
sql server top syntax
extended string literals, escapes and other flavours (like pg and
oracle custom delimiters)
run through other manuals for example queries and features: sql in a
nutshell, sql guide, sql reference guide, sql standard, sql server
manual, oracle manual, teradata manual + re-through postgresql
manual and make notes in each case of all syntax and which isn't
currently supported also.
check the order of exports, imports and functions/cases in the files
fix up the import namespaces/explicit names nicely
do some tests for parse errors?
left factor parsing code in remaining places
quasi quotes?
= sql support
placeholder/positional arg
full number literals -> other bases?
apply, pivot
within group aggregate syntax
try to do full review of sql2003 query syntax
make ansi dialect which only supports ansi sql. Maybe there is a use
for a separate SQL 92, 99 and 2003 dialects?
other dialect targets:
postgres
oracle
teradata
ms sql server
mysql?
db2?
maybe later: other dml
insert, update, delete, truncate, merge + set, show?