1
Fork 0
Commit graph

147 commits

Author SHA1 Message Date
Jake Wheat
9396aa8cba switch in megaparsec with stub lexing code 2024-01-09 17:53:12 +00:00
Jake Wheat
ec8ce0243e switch from literate to regular haskell source 2024-01-09 00:07:47 +00:00
Matei Adriel
f180d1070b
Add non-comma separated constraint dialect toggle 2024-01-09 00:25:51 +01:00
Matei Adriel
51157d502e
Parse constraints not separated by comma 2024-01-09 00:18:24 +01:00
Matei Adriel
d53afd905e
Add autoincrement option to dialect 2024-01-08 22:14:19 +01:00
Matei Adriel
c997e3196c
Support autoincrement columns 2024-01-08 22:14:19 +01:00
Bartosz Wójcik
80e79ced2e Small editorial 2021-12-02 17:04:01 +01:00
Bartosz Wójcik
61275461b5 Added tests for new added sqlserver dialect syntax. 2021-12-02 16:50:35 +01:00
Jake
05481371dd add schema support for create index referenced table, and add some tests 2021-10-19 16:32:25 +01:00
Jake
46a83fe866 add a couple of extra empty statement tests 2021-10-19 16:14:05 +01:00
Ignat Insarov
0aa28ff96a Fix handling of empty statements. 2020-12-20 20:26:34 +05:00
Jake Wheat
7f1351c123 tweak haddock, remove CPP (only causes a warning with ghc 8.2.1), other small tweaks 2019-09-01 10:04:04 +01:00
Jake Wheat
86f5e203af add iden keywords and app keywords to the dialect 2019-09-01 09:34:10 +01:00
Jake Wheat
1a1913e7b8 example of a custom dialect which allows date('xxx') syntax by removing 'date' from the list of keywords 2019-08-31 13:50:12 +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
ce0eeb392a fix parsing of quoted keywords 2019-08-31 09:13:09 +01:00
Jake Wheat
25982a78db check with stackage/ghc 8.2.1 snapshot 2017-08-05 12:43:56 +03: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
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
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
c0b4358d89 parse functions whose name is a keyword 2016-02-18 20:37:12 +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
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
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
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
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
91875b7e7e rearrange tests slightly and hide/show tests in the website a bit better 2015-08-15 19:04:29 +03:00
Jake Wheat
666d1f877f add basic transction control 2015-08-04 22:53:08 +03:00