1
Fork 0
Commit graph

217 commits

Author SHA1 Message Date
Jake Wheat
86f5e203af add iden keywords and app keywords to the dialect 2019-09-01 09:34:10 +01:00
Jake Wheat
9f2ff37c54 fix regression in extract function parsing, some small tweaks 2019-08-31 18:12:35 +01:00
Jake Wheat
ca910b8e6d tweaks to the keyword list and handling 2019-08-31 16:15:17 +01:00
Jake Wheat
4c8f612f56 fix some warnings, small tweaks to the build 2019-08-31 13:41:07 +01:00
Jake Wheat
020b33e729 improve the dialect handling to be more feature based 2019-08-31 13:40:23 +01:00
Jake Wheat
ee432d79ba update handling of fetch first and limit wrt dialects 2019-08-31 12:38:24 +01:00
Jake Wheat
eb45eb8705 start refactoring the dialect support, and work on the keyword handling 2019-08-31 11:57:28 +01:00
Jake Wheat
3707a09cb8 allow current_timestamp to be parsed, bump version 2019-08-31 10:08:02 +01:00
Jake Wheat
9f4a457a4d fix extra 'as' when printing ctes 2019-08-31 09:30:42 +01:00
Jake Wheat
ce0eeb392a fix parsing of quoted keywords 2019-08-31 09:13:09 +01:00
Jake Wheat
525a1a8652 fixes to docs 2019-07-07 13:46:39 +01:00
Jake Wheat
8e9b9edd0c add window functions to the keyword parser hack so they work, bug 2019-07-07 13:08:02 +01:00
Jonas Scholl
9631a3d1ba Update for base-4.11 compatibility. 2018-07-11 22:37:18 +02:00
Jake Wheat
ff3dcb814c add support for oracle type size units 'char' and 'byte', example: varchar2(55 byte) 2016-08-10 11:27:30 +03:00
Jake Wheat
7f08e51c74 add comments to statement syntax 2016-02-22 23:28:59 +02:00
Jake Wheat
c56a1c8fc8 use explicit data type for sign in interval literals 2016-02-22 23:25:00 +02:00
Jake Wheat
d52b5efc8b rename CombineQueryExpr to QueryExprSetOp and CombineOp to SetOperatorName 2016-02-22 23:24:43 +02:00
Jake Wheat
a2645ace3f rename ValueExpr to ScalarExpr 2016-02-22 23:24:25 +02:00
Jake Wheat
09223c3de9 refactor the identifier lexer a bit 2016-02-22 23:24:02 +02:00
Jake Wheat
9457720d2c refactor the symbol lexer more 2016-02-22 23:23:42 +02:00
Jake Wheat
a3178ad249 refactor the symbol lexer a little 2016-02-22 23:20:11 +02:00
Jake Wheat
3f7e0123a2 a few documentation and website tweaks 2016-02-22 23:16:36 +02:00
Jake Wheat
92c537fce2 move #iden to sql server dialect 2016-02-21 23:50:23 +02:00
Jake Wheat
83b16edb1f add support for odbc outer join syntax 2016-02-21 23:48:55 +02:00
Jake Wheat
c8d745fd28 add support for odbc scalar exprs 2016-02-21 23:43:19 +02:00
Jake Wheat
d8b351472f add positional arg to the syntax and parser 2016-02-21 23:36:47 +02:00
Jake Wheat
64d3b742b4 make aggregate function names non keywords 2016-02-18 20:38:59 +02:00
Jake Wheat
c0b4358d89 parse functions whose name is a keyword 2016-02-18 20:37:12 +02:00
Jake Wheat
90e66f4888 reorder identifier-like parser code in lex 2016-02-18 20:32:32 +02:00
Jake Wheat
ba55859dd7 special case in the lexer to support postgres 1..2 2016-02-18 20:29:45 +02:00
Jake Wheat
31914dfd83 add some notes 2016-02-15 20:36:01 +02:00
Jake Wheat
ee4098e189 lexer tweaks
combine hostparam with prefixed variable
refactor some of the lexing code slightly
fix error in tests where it was using the ansi dialect instead of
  postgres for testing :::, etc.
2016-02-15 20:35:38 +02:00
Jake Wheat
31f9912faa lexer tweaks
refactor dollarstring parser
fix to not allow three or more adjacent colons in postgres dialect
2016-02-15 20:34:58 +02:00
Jake Wheat
b4c2276a1f tidy up the tokensWillPrintAndLex function some more 2016-02-15 20:34:28 +02:00
Jake Wheat
36109ce584 refactor the tokenswillprintandlex utility function 2016-02-15 20:34:04 +02:00
Jake Wheat
a4d91b3e44 add support for odbc symbols: {} in lexer 2016-02-15 20:33:37 +02:00
Jake Wheat
9adce162e5 add support for [] quoted identifiers and for #var, @var 2016-02-15 20:33:11 +02:00
Jake Wheat
b22cde4100 add support for @var and #var in sqlserver and oracle dialects respectively 2016-02-15 20:32:26 +02:00
Jake Wheat
9fd2970f26 work on lexing: error cases
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 '||', '|'
2016-02-15 20:31:06 +02:00
Jake Wheat
4bca2fa2ec work on lexing
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
2016-02-15 20:20:24 +02:00
Jake Wheat
47198c78c1 add tests for + - followed by comment edge cases 2016-02-13 20:38:49 +02:00
Jake Wheat
fc2119be02 refactor postgresql operator parsing 2016-02-13 20:34:50 +02:00
Jake Wheat
c24008444c work on postgres operator parsing 2016-02-13 20:28:12 +02:00
Jake Wheat
5084c0c3ab add lexing for \' only in e' strings and dollar strings in pg dialect 2016-02-13 17:07:27 +02:00
Jake Wheat
b41803427d work on postgresql lexing
add positional arg
add e' quoted strings
add \' escaping in strings (not finished)
add ::, :=, : symbols
2016-02-13 16:31:20 +02:00
Jake Wheat
a59f19aae9 don't unescape quotes in string literals and identifiers 2016-02-13 15:54:40 +02:00
Jake Wheat
f17053c7d9 add notes to lex.lhs 2016-02-13 11:40:49 +02:00
Jake Wheat
aa5c2e89c7 refactor the identifier syntax 2016-02-12 14:13:47 +02:00
Jake Wheat
52f035b718 new syntax for names and string literals 2016-02-12 13:09:58 +02:00
Jake Wheat
1b4eefc431 refactor dialect into a non enum and separate to own file 2016-02-12 12:51:06 +02:00