fix so following a number with either . or e or E without whitespace
will cause a lexing error
remove */ from symbols in postgres (although postgres strictly
speaking allows this I think, it is not a good idea)
reject */ anywhere with an error
reject ||| (or more pipes) in ansi, etc. dialects instead of trying to
parse it as something like '||', '|'
add utility function to tell if two tokens will pretty print then lex
back to the same two tokens or not
add notes for some final missing lexing bits that are in hssqlppp
add token combo tests for postgres
add start of sql server, oracle and odbc lexing tests
set default
drop default
set not null
drop not null
set data type
drop column
add constraint
drop constraint
fix bug where generated didn't have to be followed with 'always' or
'by default' for identities in create table
parser and pretty printer for statements
add query statement
add support for
insert
update
delete
truncate
bonus ddl:
limited create schema
drop schema
add grammar notes to the new test files
fix positions?
small fixes to haddock
add notes to top of lexer module
simplify line comment lexer
remove some trys from lexer
fix the block comment parser to return all the comment text when there
are embedded / * in the comment
refactor the symbol, keyword and identifier blacklist checking into
the low level token parsers instead of a separate step using guard
work on the haddock
remove the old attoparsec position stuff from the lexer
change the lexer to accept position info in the same way as the parser
replace sqlindent with new test exe which can parse, lex and indent
create separate module for the error formatting wrapper
heavily refactor the typename parser to remove almost all trys,
convert to applicative only, and left factor nicely
other refactoring to use more idiomatic parsing and to convert to
applicative only
rename LobMultiplier and LobUnits to PrecMultiplier and PrecUnits
remove support for limit syntax
remove the unreserved keyword list since it isn't useful
tests for row value constructors
tests for table value constructors
tests for query specifications
tests for explicit table
work on tests for setops,order by,offset,fetch and sort specification
in first character position
get rid of code_units since these are not in sql2011
implement next value for
parse the nullary functions with reserved names
updates to the sql2003 file
everywhere:
TRSimple: replaces the TRQualified
Iden
App name
AggregateApp name
WindowApp name
operator names (not sure if this is used in ansi sql)
explicit table
function in from clause
support collate postfix operator
support escape and uescape as postfix operators
change the collate support in substring and trim which isn't a special
case in the sql 2003 grammar anymore but just a normal collate postfix
operator, the old code had the collation name as a string, but the
new style is as an identifier
fix number literals to accept upper case E
implement multi part string literals
fix tests for string literals, typed literals, boolean literals and
number literals in the sql 2003 tests
change the parser to not attempt to parse the elements following
'from' unless there is a actual 'from'
improve the symbol parser to try to deal with issues when symbols are
next to eachother with no intervening whitespaces
improve number literal parsing to fail if there are trailing letters
or digits which aren't part of the number and aren't separated with
whitespace
add some code to start analysing the quality of parse error messages
partially add buildExprParser hack to deal with some nested prefix and
postfix unary operators
add new file which starts going through the sql2003 grammar to try to
create lots of examples for comprehensive testing of sql2003
support.
replace the lexers with lexers from the tutorial project