113 lines
2.8 KiB
Plaintext
113 lines
2.8 KiB
Plaintext
|
|
next release:
|
|
|
|
escapes in string literals
|
|
|
|
ansi standard versions of limit and offset
|
|
|
|
OFFSET start { ROW | ROWS }
|
|
FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY
|
|
-> + fix the abstract syntax to match this instead of postgres
|
|
(keep the postgres syntax version parser)
|
|
in the postgresql docs, the start and count must be in parens unless
|
|
they are a single integer
|
|
|
|
+ sql server top syntax
|
|
|
|
more dots: implement as dot operator
|
|
|
|
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
|
|
|
|
|
|
|
|
fix lateral binding issue
|
|
|
|
row ctor: row(a,b) is fine, but also when there is 2 or more elements,
|
|
the word row can be omitted: (a,b)
|
|
|
|
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:
|
|
|
|
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?
|