1
Fork 0

update TODO

This commit is contained in:
Jake Wheat 2013-12-19 10:27:44 +02:00
parent b631497a04
commit 27a1723813

84
TODO
View file

@ -1,7 +1,8 @@
= next release = next release
Most important goal is to replace the fixity code and fix all the Most important goal is to replace the fixity code and fix all the bugs
bugs here. here. Could also review parens and fixity at query expr level, and
in tablerefs
== docs == docs
@ -23,27 +24,13 @@ review internal sql collection for more syntax/tests
== features == features
collate? -> postfix operator which binds very tightly: parse '?'
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
have to do fixity for this to work
all ansi string literal syntax?
check ansi standard for operators (keywords and symbols)
== other == other
change any/some/all to be proper infix operators like in change any/some/all to be proper infix operators like in ??
review syntax to replace maybe and bool with better ctors review syntax to replace maybe and bool with better ctors
maybe review some of the dodgy ast names like orderfield and inthing
= Later general tasks: = Later general tasks:
@ -86,6 +73,23 @@ ast checker: checks the ast represents valid syntax, the parser
= sql support = sql support
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
and on group by
a collation in ansi sql is a optional qualifier plus identifier, not a
string
have to do fixity for this to work
all ansi string literal syntax?
check ansi standard for operators (keywords and symbols)
proper character sets for identifiers, escapes, etc. proper character sets for identifiers, escapes, etc.
placeholder/positional arg placeholder/positional arg
@ -99,6 +103,50 @@ try to do full review of sql2003 query syntax
make ansi dialect which only supports ansi sql. Maybe there is a use make ansi dialect which only supports ansi sql. Maybe there is a use
for a separate SQL 92, 99 and 2003 dialects? for a separate SQL 92, 99 and 2003 dialects?
string literals:
N'
B'
X'
U&' ?
looks like two string literals separated by any whitespace are
merged, which isn't what the postgres manual claims is the standard
plus something introducer, character set thing
union join?
corresponding by
from in substring is not optional in ansi
the keyword from is optional in trim iff there is neither
leading,etc. and explicit char
extract can accept 'timezone hour' and 'timezone minute' for the
extraction field. Could hardcode the complete allowed list in the
parser?
bunch of timezone keyword stuff
interval a to b
array specification int array or int array[5] - type name
typenames: scope, multiset,row type, ref type
unique subquery -> returns true if all the rows in the subquery are
distinct
match predicate <row value constructor> MATCH [ UNIQUE ] [ PARTIAL |
FULL ] <table subquery>
clob type: CLOB(4M) - M suffix on the precision
array element reference a[4]
regular expression substring function
between symmetric
match predicate
unicode delimited identifier
character set postfix type op for string types + collate on string types
next value for
treat as
generalized invocation?
position using
multiset stuff
table sample
unnest
only
window frame exclusion: complete window support?
select t.* as (a,b,c) from t ??
search or cycle clause for ctes
normalized
other dialect targets: other dialect targets:
postgres postgres
oracle oracle