1
Fork 0
simple-sql-parser/TODO
2013-12-17 18:42:00 +02:00

92 lines
2.1 KiB
Plaintext

next release:
review tests to copy from hssqlppp
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 grammar 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.
review internal sql collection for more syntax/tests
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:
more operators
sql server top syntax
named windows
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
proper character sets for identifiers, escapes, etc.
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?