1
Fork 0
Commit graph

158 commits

Author SHA1 Message Date
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
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
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
Jake Wheat
bbb793c160 small fixes
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
2015-08-01 13:22:07 +03:00
Jake Wheat
913fce068b small fixes
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
2015-08-01 12:13:53 +03:00
Jake Wheat
2df76e3095 add separate lexer 2015-08-01 00:04:18 +03:00
Jake Wheat
2e6f2fc3f2 update changelog 2015-03-14 16:15:37 +02:00
Jake Wheat
db00d50d92 Merge branch 'master' of https://github.com/hanjoosten/simple-sql-parser into hanjoosten-master 2015-03-14 15:39:54 +02:00
Han Joosten
dc5ca57124 Introduced QEComment, constructor, likewise the VEComment constructor 2015-03-14 14:28:05 +01:00
Jake Wheat
933964e074 Merge branch 'master' of https://github.com/hanjoosten/simple-sql-parser into hanjoosten-master 2015-03-14 14:06:47 +02:00
Han Joosten
258eff5298 Introduction of Comment in syntax, to facilitate comments in programatically generated SQL 2015-03-14 12:40:35 +01:00
Jake Wheat
3bf4fdbe52 notes 2014-09-13 10:45:45 +03:00
Jake Wheat
ba331af24b move limit to only be reserved word in mysql dialect 2014-06-28 15:43:30 +03:00
Jake Wheat
c1c514af35 example how to switch parsing and pretty printing depending on dialect 2014-06-28 15:41:11 +03:00
Jake Wheat
7d63c8f8e5 start on dialect prototype code 2014-06-27 12:19:15 +03:00
Jake Wheat
7914898cc8 update to accept latest mtl 2014-06-20 12:27:23 +03:00
Jake Wheat
8996230093 make the typename and app parsers a bit more regular 2014-05-12 22:06:29 +03:00
Jake Wheat
6c9a291930 refactor the filter parsing 2014-05-10 10:02:16 +03:00
Jake Wheat
7f90318647 refactor the app/agg/window parsing 2014-05-09 23:26:18 +03:00
Jake Wheat
4704ccc28e create separate module for generic parser combinator utility functions
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
2014-05-09 21:37:09 +03:00
Jake Wheat
9ee2a1beab start reworking some of the combinators 2014-05-07 21:53:24 +03:00
Jake Wheat
dbd48baaa1 rename LobTypeName to PrecLengthTypeName
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
2014-04-20 23:14:55 +03:00
Jake Wheat
be79448414 update the reserved keywords to 2011 list 2014-04-20 19:38:43 +03:00
Jake Wheat
9b2ba2fb36 remove ref typename for consistency
support t and p multipliers in lob lengths
update a few tests
2014-04-20 19:24:03 +03:00
Jake Wheat
7a7f4ba7aa work around for haddock refusal to parse literal comment lines with *
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
2014-04-19 21:17:19 +03:00
Jake Wheat
7057241974 add filter and within group aggregates 2014-04-19 18:01:49 +03:00
Jake Wheat
59826ecce2 more docs in Parser.lhs 2014-04-19 15:10:45 +03:00
Jake Wheat
ddfac442ab rename some functions in parser 2014-04-19 13:22:11 +03:00
Jake Wheat
445c10a01d rearrange part of the parser file 2014-04-19 13:10:46 +03:00
Jake Wheat
fdb90c0440 change collate and in chartype to be a list of names
rearrange and add notes to the parser
2014-04-19 12:47:25 +03:00
Jake Wheat
fea6e347bd change joins so natural is represented by separate field to on/using
some fixes and tweaks to the reserved keyword handling, especially in
  the typename parser
2014-04-19 11:18:29 +03:00
Jake Wheat
5d9a32a91d reserve most of the reserved keywords in the parser 2014-04-19 00:18:15 +03:00
Jake Wheat
6b5a29c052 update docs 2014-04-18 23:51:05 +03:00
Jake Wheat
7a84704516 implement reference type name (I think - cannot find any examples or
explanation of what it means, didn't try reading the standard
  itself, just the grammar)
2014-04-18 21:48:14 +03:00
Jake Wheat
3b86a06e5c implement complete interval literals 2014-04-18 21:38:24 +03:00
Jake Wheat
f64632bbac support two double quotes in quoted identifier plus unicode quoted identifier syntax 2014-04-18 21:09:46 +03:00
Jake Wheat
4e1a1da820 basic multiset support 2014-04-18 20:50:24 +03:00
Jake Wheat
2ff8580dbf complete basic typename support 2014-04-18 19:49:00 +03:00
Jake Wheat
fbdcacc604 modify basic typenames to support dotted names in the syntax
add syntax for most of the other kinds of typenames
add pretty printing for these
todo: the parsing and the tests
2014-04-18 17:55:56 +03:00
Jake Wheat
438e3383e4 fix/work around issues with the keywords parsing
fix the infix and postfix keywords parsing
minor refactoring
2014-04-18 17:51:57 +03:00