1
Fork 0
Commit graph

203 commits

Author SHA1 Message Date
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
Jake Wheat
2b73907119 rename modules lexer->lex, parser->parse 2016-02-12 12:22:19 +02:00
Jake Wheat
5b786bd11d small tweaks 2016-02-12 11:57:09 +02:00
Jake Wheat
c102528d5f add create and drop assertion 2015-08-16 20:03:02 +03:00
Jake Wheat
3c0788af6e add support for create/drop role, grant, revoke 2015-08-15 21:01:48 +03:00
Jake Wheat
c35ea6e08b small fixes and update changelog 2015-08-09 20:13:11 +03:00
Jake Wheat
2c817f4088 fix silly bug with is distinct from parsing 2015-08-05 22:57:36 +03:00
Jake Wheat
136257bfd5 fixes to operator precedence, introduced some bugs to fix also 2015-08-05 22:38:44 +03:00
Jake Wheat
666d1f877f add basic transction control 2015-08-04 22:53:08 +03:00
Jake Wheat
a9d51d1ebb add create,alter,drop sequence 2015-08-04 22:35:51 +03:00
Jake Wheat
9aab04b189 add create, alter, drop domain 2015-08-04 22:08:32 +03:00
Jake Wheat
c2810cddd2 add support for create and drop view 2015-08-02 23:52:01 +03:00
Jake Wheat
8291fbaa44 add drop table support 2015-08-02 23:27:09 +03:00
Jake Wheat
f0baa3c37b add alter table variations:
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
2015-08-02 23:22:06 +03:00
Jake Wheat
f6477ac214 add alter table add column support 2015-08-02 20:56:39 +03:00