1
Fork 0
Commit graph

389 commits

Author SHA1 Message Date
Jake Wheat 3f08adb4c5 work on the semicolon handling 2013-12-14 11:59:29 +02:00
Jake Wheat cd7a15c193 tidy up the number parser 2013-12-14 11:47:13 +02:00
Jake Wheat 8ef799740c refactor the combo query expression parsing and the optional parts of a select query expr 2013-12-14 11:41:58 +02:00
Jake Wheat fabc106fd8 refactor the main scalar expression parser into nicer components 2013-12-14 11:28:45 +02:00
Jake Wheat ac406c077c small refactoring in the parser
factor out the integer parser for interval literals to separate lexer
refactor the app parser to include windows here instead of later on
add notes on the fixity handling
formatting in the cabal file
2013-12-14 11:23:58 +02:00
Jake Wheat 0de32d3429 tidying up 2013-12-14 10:55:44 +02:00
Jake Wheat 0da39d4498 small reformatting 2013-12-14 01:14:23 +02:00
Jake Wheat e80b3606b1 update todo 2013-12-14 01:01:07 +02:00
Jake Wheat 931272d1db add with expressions, all tpch appear to parse correct, some of the later ones pretty print badly though 2013-12-14 00:58:12 +02:00
Jake Wheat 15c83555ff add support for full table aliases 2013-12-14 00:37:34 +02:00
Jake Wheat d005dc1706 work on parsing tpch
add parse function for parsing multiple query expressions separated by
  semicolon
add parser for substring operator
tweak the layout for pretty printing binary operators
add sql file with tpch queries in it
add simple exe to parse and pretty print multiple query expressions
2013-12-14 00:34:05 +02:00
Jake Wheat f08f4eb13b few small fixes
untested fix for case insensitive keywords
add partial support for interval literals
fix bug in prefix operator cast parsing
2013-12-14 00:07:45 +02:00
Jake Wheat 9c4719bda3 add support for union all and union corresponding and for intersect and except 2013-12-13 23:49:22 +02:00
Jake Wheat 1199342477 add support for union,intersect,except 2013-12-13 23:41:12 +02:00
Jake Wheat 64eb5a5c9d add window functions (without frames 2013-12-13 23:31:36 +02:00
Jake Wheat 81e7aa818b add support for extended aggregate syntax 2013-12-13 23:18:30 +02:00
Jake Wheat 5e56a4b560 implement extract 2013-12-13 22:38:43 +02:00
Jake Wheat a001d120c1 tidyups 2013-12-13 22:25:22 +02:00
Jake Wheat b14af47773 add support for a bunch of keyword binary operators 2013-12-13 21:41:50 +02:00
Jake Wheat 546d9b023d add support for more is ... postfix ops 2013-12-13 21:34:59 +02:00
Jake Wheat 4f73f4ec44 split the Op ctor into binop,prefixop, postfixop and specialop
add support for is null
2013-12-13 21:26:14 +02:00
Jake Wheat 955658c41f add support for between 2013-12-13 21:13:36 +02:00
Jake Wheat 386d835cf8 add support for in list, and fix code for in query expr 2013-12-13 21:00:06 +02:00
Jake Wheat 00269617b3 add support for subqueries in scalar expressions 2013-12-13 20:43:28 +02:00
Jake Wheat d6d91b1935 add casts, disable failing tests temporarily 2013-12-13 20:24:20 +02:00
Jake Wheat 99409fbc15 simplify the error position code 2013-12-13 20:08:43 +02:00
Jake Wheat 182526d1fc add parsing for unary + - 2013-12-13 20:01:57 +02:00
Jake Wheat ed47656a0c work on errors 2013-12-13 19:21:44 +02:00
Jake Wheat aa26603a0c start work on cast expressions, add lots more test targets 2013-12-13 18:50:41 +02:00
Jake Wheat a81f62b940 add support for limit and offset 2013-12-13 17:27:02 +02:00
Jake Wheat 1a8551825d add directions to order by 2013-12-13 17:08:10 +02:00
Jake Wheat 2c1eedb70f implement complete base 10 number parser, shorten some syntax names 2013-12-13 17:00:22 +02:00
Jake Wheat 63fe9778f7 split number literals and string literals 2013-12-13 16:44:00 +02:00
Jake Wheat afc6933f64 put the modules in a better path 2013-12-13 16:04:48 +02:00
Jake Wheat e3be820dfb pretty printer, minor clean ups
clean up some warnings
update the cabal file
add pretty printer
add pretty printing tests
2013-12-13 15:05:32 +02:00
Jake Wheat 52b9f3f4f4 add support for count(*) 2013-12-13 14:21:25 +02:00
Jake Wheat c29176f08e add TODO, tests and some small fixes
add TODO
add a bunch of tests
fix issue where 'order by' was being confused with the 'or' operator
  due to bad lexing
fix missing ctor in parens scalar expr parser
rename parens scalar parser to sparens and betweenParens helper to
  parrens
export the makeSelect from the syntax module
2013-12-13 14:08:33 +02:00
Jake Wheat 5ae8dbcf2c add license, readme, gitignore and cabal 2013-12-13 12:46:35 +02:00
Jake Wheat f3f5f849bd initial import 2013-12-13 12:39:26 +02:00