2015-08-09 19:13:11 +02:00
|
|
|
0.5.0 (not released yet, updated to commit 322b6f200d694bff78f6a4a011d7e89d85293731)
|
2015-08-01 19:29:42 +02:00
|
|
|
add a separate lexer to simplify code and speed up parsing
|
|
|
|
replace SqlIndent with new tool, SimpleSqlParserTool (amazing
|
|
|
|
name) which can indent, and parse and lex.
|
|
|
|
experiments in new approach to dealing with fixities with separate
|
|
|
|
pass after parsing
|
2015-08-09 19:13:11 +02:00
|
|
|
dml :add support for insert, update, delete and truncate
|
|
|
|
ddl: add limited support for create schema, plus drop schema
|
|
|
|
create, alter and drop table with defaults and constraints
|
|
|
|
create, alter and drop for domain, view, sequence
|
|
|
|
limited support for transaction management: start transation,
|
|
|
|
rollback, commit, savepoint
|
|
|
|
fix the precendence of operators which was following the weird
|
|
|
|
postgresql 9.4 and earlier precendences instead of the standard
|
2015-07-31 11:45:51 +02:00
|
|
|
0.4.1 (commit c156c5c34e91e1f7ef449d2c1ea14e282104fd90)
|
2015-03-14 16:50:17 +01:00
|
|
|
tested with ghc 7.4.2, 7.6.3, 7.8.4,7.10.0.20150123
|
2014-06-27 11:19:15 +02:00
|
|
|
simple demonstration of how dialects could be handled internally
|
2015-03-14 15:15:37 +01:00
|
|
|
add ability to add comments to syntax tree to help with generating
|
2015-03-14 16:50:17 +01:00
|
|
|
SQL code
|
2014-06-27 11:19:15 +02:00
|
|
|
0.4.0 (commit 7914898cc8f07bbaf8358d208469392346341964)
|
2014-04-20 22:18:58 +02:00
|
|
|
now targets SQL:2011
|
2014-06-20 11:27:23 +02:00
|
|
|
update to ghc 7.8.2
|
2014-04-19 21:24:10 +02:00
|
|
|
remove dependency on haskell-src-exts
|
2014-04-20 22:18:58 +02:00
|
|
|
derive Data and Typeable in all the syntax types
|
2014-04-18 22:51:05 +02:00
|
|
|
improve the error messages a great deal
|
2014-04-20 22:18:58 +02:00
|
|
|
sql features:
|
2014-04-16 19:38:19 +02:00
|
|
|
parse schema qualified table names in from clause (thanks to Sönke
|
|
|
|
Hahn)
|
2014-04-17 23:36:50 +02:00
|
|
|
support multiline string literals
|
|
|
|
support colon prefix host parameters and introducer
|
|
|
|
support unique predicate
|
|
|
|
support match predicate
|
|
|
|
support array constructors and subscripting
|
|
|
|
support character set literals
|
|
|
|
support collate
|
|
|
|
support escape for string literals as a postfix operator
|
2014-04-18 22:51:05 +02:00
|
|
|
parse schema/whatever qualified ids in various places: identifiers
|
|
|
|
(replaces equivalent functionality using '.' operator), function,
|
|
|
|
aggregate, window function names, explicit tables and functions in
|
|
|
|
from clauses, typenames
|
2014-04-20 22:18:58 +02:00
|
|
|
support almost all typename syntax for SQL:2011 (just missing refs)
|
2014-04-18 22:51:05 +02:00
|
|
|
support most multiset operations (missing some predicates only,
|
|
|
|
likely to be added before next release)
|
|
|
|
support two double quotes in a quoted identifier to represent a
|
|
|
|
quote character in the identifier
|
2014-04-20 22:18:58 +02:00
|
|
|
support filter and within group for aggregates
|
|
|
|
support next value for
|
|
|
|
parse special nullary functions
|
|
|
|
annoying changes:
|
|
|
|
replace Int with Integer in the syntax
|
|
|
|
remove support for parsing clauses after the from clause if there
|
|
|
|
is no from clause
|
|
|
|
change the syntax representation of quantified comparison
|
|
|
|
predicates
|
|
|
|
change the hardcoded collate keyword in substring and trim to use
|
|
|
|
the new collate postfix operator, this also changes the collation
|
|
|
|
name to be an identifier instead of a string
|
|
|
|
represent missing setquantifier as a literal default instead of as
|
|
|
|
the actual default value (all in select, distinct in set
|
|
|
|
operators)
|
|
|
|
same for sort directions in order by
|
2014-04-18 22:51:05 +02:00
|
|
|
implement complete interval literals (fixed the handling of the
|
|
|
|
interval qualifier)
|
2014-04-19 20:17:19 +02:00
|
|
|
make most of the standard reserved words actually reserved (still
|
|
|
|
some gaps)
|
|
|
|
change the natural in join abstract syntax to match the concrete
|
|
|
|
syntax instead of combining natural, on and using into one field
|
2014-04-20 22:18:58 +02:00
|
|
|
remove support for postgresql limit syntax
|
|
|
|
bug fixes:
|
|
|
|
fix some trailing whitespace issues in the keyword style functions,
|
|
|
|
e.g. extract(day from x), dealing with trailing whitespace on
|
|
|
|
the parens was fixed
|
|
|
|
improve some cases of parsing chained prefix or postfix operators
|
|
|
|
(still some issues here)
|
|
|
|
fix bug where the 'as' was incorrectly optional in a 'with
|
|
|
|
expression list item'
|
|
|
|
fix bug in set operations where 'all' was assumed as the default
|
|
|
|
instead of 'distinct', e.g. 'select * from t union select * from
|
|
|
|
u' was parsed to 'select * from t union all select * from u'
|
|
|
|
instead of 'select * from t union distinct select * from u'.
|
|
|
|
fix corresponding bug where 'distinct' was being pretty printed in
|
|
|
|
this case and 'all' was not since the assumed default was the
|
|
|
|
wrong way round
|
|
|
|
fix some trailing junk lexing issues with symbols and number
|
|
|
|
literals
|
|
|
|
fix number literals to accept upper case E
|
2014-04-10 11:14:08 +02:00
|
|
|
0.3.1 (commit 5cba9a1cac19d66166aed2876d809aef892ff59f)
|
|
|
|
update to work with ghc 7.8.1
|
2013-12-31 11:26:05 +01:00
|
|
|
0.3.0 (commit 9e75fa93650b4f1a08d94f4225a243bcc50445ae)
|
2013-12-31 11:20:07 +01:00
|
|
|
fix the basic operator fixity parsing
|
|
|
|
swap the order in select item abstract syntax so it is now
|
|
|
|
(expression, alias) which matches the order in the concrete
|
|
|
|
syntax
|
2013-12-19 11:15:05 +01:00
|
|
|
rename ScalarExpr -> ValueExpr
|
2013-12-19 09:55:01 +01:00
|
|
|
rename Duplicates to SetQuantifier
|
|
|
|
rename qeDuplicates to qeSetQuantifier
|
|
|
|
rename OrderField to SortSpec
|
|
|
|
rename InThing to InPredValue
|
|
|
|
add support for ? for parameterized queries
|
2013-12-19 12:38:52 +01:00
|
|
|
add new abstract syntax for special operators whose concrete
|
|
|
|
syntax is a kind of limited named parameters syntax
|
|
|
|
add more parsing for these operators: position, convert,
|
|
|
|
translate, overlay, trim, and improve the substring parsing
|
2013-12-19 09:55:01 +01:00
|
|
|
add support for multi keyword type names
|
2013-12-19 12:38:52 +01:00
|
|
|
previously:
|
|
|
|
double precision
|
|
|
|
character varying
|
2013-12-19 09:55:01 +01:00
|
|
|
now:
|
2013-12-19 12:38:52 +01:00
|
|
|
double precision,
|
|
|
|
character varying,
|
|
|
|
char varying,
|
|
|
|
character large object,
|
|
|
|
char large object,
|
|
|
|
national character,
|
|
|
|
national char,
|
|
|
|
national character varying,
|
|
|
|
national char varying,
|
|
|
|
national character large object,
|
|
|
|
nchar large object,
|
|
|
|
nchar varying,
|
|
|
|
bit varying
|
2013-12-19 09:55:01 +01:00
|
|
|
rename tools/PrettyIt to tools/SQLIdent and add to cabal file as
|
|
|
|
optional executable (disabled by default)
|
2013-12-31 11:20:07 +01:00
|
|
|
rename the qeFetch field in Select to qeFetchFirst
|
|
|
|
change the pretty printer to use 'fetch first' instead of
|
|
|
|
'fetch next'
|
2013-12-19 09:55:01 +01:00
|
|
|
|
2013-12-18 10:37:35 +01:00
|
|
|
0.2.0 (commit 9ea29c1a0ceb2c3f3157fb161d1ea819ea5d64d4)
|
2013-12-17 20:12:16 +01:00
|
|
|
'' quotes in string literal
|
|
|
|
parse simple interval literal e.g. "interval '1 week'"
|
|
|
|
support . in identifiers as a dot operator
|
|
|
|
support quoted identifiers
|
|
|
|
partial support for explicit window frames
|
|
|
|
support multiple test expressions in when branches in case expressions
|
|
|
|
rename CastOp to TypedLit
|
|
|
|
support typenames with precision and scale in casts
|
|
|
|
support nulls first and nulls last in order by
|
|
|
|
support grouping expressions: group by (), grouping sets, cube,
|
|
|
|
rollup and parens
|
|
|
|
support with recursive
|
|
|
|
support values table literal
|
|
|
|
support 'table t' syntax
|
|
|
|
rename fields qe1 and qe1 in combinequeryexpr to qe0 and qe1
|
|
|
|
add support for functions in from clause
|
|
|
|
add support for lateral in from clause
|
|
|
|
support column aliases in common table expressions
|
|
|
|
refactor the tests and add lots more
|
|
|
|
parse * in any scalar context instead of trying to restrict it
|
|
|
|
support row ctor without 'row' e.g. (a,b) = (c,d)
|
|
|
|
add % ^ | & ~ operators
|
|
|
|
support ansi standard syntax for offset n rows and fetch first n
|
|
|
|
rows only
|
|
|
|
fix keyword parsing to be case insensitive
|
2013-12-19 09:55:01 +01:00
|
|
|
|
2013-12-18 10:37:35 +01:00
|
|
|
0.1.0.0 (commit 9bf4012fc40a74ad9a039fcb936e3b9dfc3f90f0)
|
|
|
|
initial release
|