1
Fork 0
Commit graph

131 commits

Author SHA1 Message Date
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
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
Jake Wheat fa1df4c7a2 add table constraint definitions to create table 2015-08-02 20:36:05 +03:00
Jake Wheat e6e8264b3d add support for column constraints in create table 2015-08-02 19:27:39 +03:00
Jake Wheat 4f80ec96d4 add generation clause support to create table 2015-08-02 18:14:45 +03:00
Jake Wheat e495e240c0 add default and identity to create table 2015-08-02 18:04:40 +03:00
Jake Wheat 056cd1afda tweak lexer tests 2015-08-02 15:58:09 +03:00
Jake Wheat 3b5deec2e5 fix positioning in lexer? and fix line comment token missing trailing \n 2015-08-02 15:29:35 +03:00
Jake Wheat 6802aaef5a add simple create table support 2015-08-01 23:16:26 +03:00
Jake Wheat 2938f642d3 fix to work on ghc 7.8.4, 7.6.3, plus small tweaks 2015-08-01 21:13:37 +03:00
Jake Wheat dfa84072dc start adding basic dml
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
2015-08-01 20:26:00 +03:00
Jake Wheat 6fc8869f73 preparation for non-queries
some docs in the lexer
bump the version to 0.5.0
add placeholder files for the planned initial non query support
2015-08-01 18:08:54 +03:00