update TODO
This commit is contained in:
parent
b631497a04
commit
27a1723813
84
TODO
84
TODO
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue