1
Fork 0
simple-sql-parser/changelog
2014-04-18 23:51:05 +03:00

125 lines
5.1 KiB
Plaintext

0.4.0-dev (updated to 7a847045163feb2339ab40ebe93afe2f1c9ad813)
completely remove dependency on haskell-src-exts
improve the error messages a great deal
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)
parse schema qualified table names in from clause (thanks to Sönke
Hahn)
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
replace Int with Integer in the syntax
derive Data and Typeable in all the syntax types
remove support for parsing clauses after the from clause if there
is no from clause
fix some trailing junk lexing issues with symbols and number
literals
fix number literals to accept upper case E
support multiline string literals
support colon prefix host parameters and introducer
support unique predicate
support match predicate
change the syntax representation of quantified comparison
predicates
support array constructors and subscripting
support character set literals
support collate
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
support escape for string literals as a postfix operator
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
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
support what appears to be 100% of sql 2003 typename syntax (phew)
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
implement complete interval literals (fixed the handling of the
interval qualifier)
0.3.1 (commit 5cba9a1cac19d66166aed2876d809aef892ff59f)
update to work with ghc 7.8.1
0.3.0 (commit 9e75fa93650b4f1a08d94f4225a243bcc50445ae)
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
rename ScalarExpr -> ValueExpr
rename Duplicates to SetQuantifier
rename qeDuplicates to qeSetQuantifier
rename OrderField to SortSpec
rename InThing to InPredValue
add support for ? for parameterized queries
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
add support for multi keyword type names
previously:
double precision
character varying
now:
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
rename tools/PrettyIt to tools/SQLIdent and add to cabal file as
optional executable (disabled by default)
rename the qeFetch field in Select to qeFetchFirst
change the pretty printer to use 'fetch first' instead of
'fetch next'
0.2.0 (commit 9ea29c1a0ceb2c3f3157fb161d1ea819ea5d64d4)
'' 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
0.1.0.0 (commit 9bf4012fc40a74ad9a039fcb936e3b9dfc3f90f0)
initial release