rearrange the test code and add some notes on postgres
This commit is contained in:
parent
86ba354e26
commit
6ff8c9ddc5
10 changed files with 940 additions and 591 deletions
108
TODO
108
TODO
|
@ -1,85 +1,100 @@
|
|||
|
||||
next release:
|
||||
quoted identifiers: implement as a dot operator
|
||||
review tests to copy from hssqlppp
|
||||
lateral since it is easy. I think it is effectively just a prefix
|
||||
operator on tablerefs (can appear like this from lateral a, from
|
||||
lateral a,b, from a, lateral b, from a natural join lateral b
|
||||
(although all of these are sematically garbage, this is the
|
||||
valid syntax)
|
||||
more dots: implement as dot operator
|
||||
|
||||
row ctor: row(a,b) is fine, but also when there is 2 or more elements,
|
||||
the word row can be omitted: (a,b)
|
||||
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
|
||||
|
||||
window frames and named windows
|
||||
dialect framework
|
||||
try to implement fixity without the hse hack
|
||||
position annotation?
|
||||
row ctor
|
||||
more symbolic operators, array access a[5]?
|
||||
review abstract syntax (e.g. combine App with SpecialOp?)
|
||||
more dots
|
||||
|
||||
|
||||
review tests to copy from hssqlppp
|
||||
|
||||
order by nulls first/last
|
||||
extend case
|
||||
group by extensions
|
||||
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).
|
||||
table, values
|
||||
collate? -> postfix operator which binds very tightly:
|
||||
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
|
||||
select a from t order by a collate 'C': add to order by syntax, one
|
||||
collation per column
|
||||
function table reference
|
||||
much more table reference tests
|
||||
much more table reference tests, for joins and aliases etc.
|
||||
ansi standard versions of limit and offset
|
||||
sql server top
|
||||
|
||||
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
|
||||
|
||||
quoted identifiers and proper character sets for identifiers
|
||||
|
||||
run through postgres docs and add example sql as tests
|
||||
review internal sql collection for more syntax/tests
|
||||
all ansi sql operators
|
||||
|
||||
escapes in string literals
|
||||
|
||||
|
||||
----
|
||||
|
||||
add to website: pretty printed tpch, maybe other queries as
|
||||
demonstration
|
||||
demo: convert tpch to sql server syntax
|
||||
review internal sql collection for more syntax/tests
|
||||
run through postgres docs and add example sql as tests
|
||||
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?
|
||||
|
||||
dialect switching
|
||||
|
||||
left factor parsing code in remaining places
|
||||
|
||||
reimplement the fixity thing natively
|
||||
|
||||
position annotation?
|
||||
|
||||
quasi quotes?
|
||||
|
||||
= sql support
|
||||
|
||||
scalar function syntax:
|
||||
placeholder/positional arg
|
||||
|
||||
review all ansi sql operators
|
||||
placeholder/positional arg
|
||||
|
||||
other missing operators
|
||||
row constructors -> needed for stuff like
|
||||
'where (a,b) = any (select a,b from t)'
|
||||
|
||||
|
||||
review allowed identifier syntax
|
||||
add quoted identifiers
|
||||
more dots in identifiers
|
||||
order by nulls first/last
|
||||
extend case
|
||||
escapes in string literals
|
||||
full number literals -> other bases?
|
||||
group by (), grouping sets(), cube, rollup
|
||||
lateral
|
||||
named windows
|
||||
table, values
|
||||
apply, pivot
|
||||
collate
|
||||
within group aggregate syntax
|
||||
|
||||
support the ansi version for limit and offset, plus review other
|
||||
dialects
|
||||
|
||||
try to do full review of sql2003 query syntax
|
||||
|
||||
make ansi dialect which only supports ansi sql. Maybe there is a use
|
||||
|
@ -94,3 +109,4 @@ mysql?
|
|||
db2?
|
||||
|
||||
maybe later: other dml
|
||||
insert, update, delete, truncate, merge + set, show?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue