-
Notifications
You must be signed in to change notification settings - Fork 26
/
CHANGES
145 lines (124 loc) · 4.78 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
unreleased development
Focus: clean up some of the api
complete haddocks
clean up/rewrite lots of the typechecking internals
start taking the sql server syntax support a bit more seriously
make the build system much more foolproof and less byzantine
lots of api changes, including the parsing and typechecking functions
and the ast
switch to using Data.Text.Lazy.Text to parse from and pretty print to
typechecking has regressed further, focus is on rock solid
typechecking of queryexprs and dml statements only (typechecking of
ddl and plpgsql are completely broken)
start rewriting the Catalog module, Annotation type, typechecking code
and typeconversion code from scratch - should be much clearer code
and more functionality.
lots of improvements to the Type module, types and documentation
better haddock documentation
better documentation plus named fields in some more types such as
QueryExpr and Annotation
parser/syntax additions and fixes:
split functions and operators into different ctors (App, BinaryOp,
PrefixOp, etc.), now parses prefix - as "-" instead of hacky "u-"
because of this
represent parens in scalarexpr in the ast
rename some badly named ctors in the syntax
use names in LiftApp
limited explicit support for sql server syntax/tsql as separate
dialect using flag passed to parser, typechecker and pretty printer
source code tree is better organised and documented:
split code into hssqlppp, hssqlppp-pg, hssqlppp-th packages plus
other bits
use much better method of autogenerating makefile rules
use cabal test sections for automated tests
improved build system all around
package dependencies much better handled
improved handling of reserved keywords
add flags to typechecking to control the tree rewrites:
add qualifiers to identifiers
add select item aliases
replace * in select list with expanded identifier list
better parsing for operators without whitespace, e.g. is now able to
parse a<>-1 as a <> -1
0.4.2
Released 09/04/2014
update to work with ghc 7.8.3
build tests with cabal
remove most of the Makefile stuff
0.4.1
Released 09/04/2014
Update 0.4.0 to work with ghc 7.6 and 7.8
0.4.0
Released 30/09/2011
lots of compatibility breaking changes to the ast types
change ast for into statements
change ast for update statements
add support for distinct and order by in aggregate calls
change the syntax for names, identifiers, etc., much better handling
of qualification and quoted names in the parser and syntax
handle asterix in syntax and parser differently, and will give syntax
error in most places when the asterix isn't valid during parsing
support parsing sql server select top n syntax (parses to postgres
limit abstract syntax)
add a reasonably comprehensive makefile which handles the generated
files, compiling and running the tests and other tasks much more
straightforwardly, replaces the various build scripts and the cabal
file for the tests
remove the functions from Annotation module which are trivial wrappers
around uniplate functions
remove ugly system for implementing antiquotes in the syntax - now is
much more straightforward
bug/regression fixes:
fix parsing 'for 1..10' without spaces
fix pretty printing (x).y member reference in scalar
expressions (was missing parens before)
fix typechecking for update and insert statements
fix typechecking for natural joins
fix typechecking for parameterized queries/dml
fix typechecking for most joins
fix typechecking for non composite function table refs
main deficiency for typechecking expressions remaining is composite
and set of composite returning functions in tablerefs.
fix parsing of substring when it uses regular function call syntax
(i.e. substring(a,b,c) rather than substring(a from b for c)
fix for the syntax of the directions in order by in window functions
fix broken select into parsing
parsing of :: cast operator has been improved in some cases
0.3.1
Released 13/08/2011
add quasiquotation support back in
add build script which handles the two ast generated files (but not
the defaultTemplate1Catalog file yet)
add cabal file to compile the automated tests
add example to typecheck against existing database in postgresql
get cabal haddock working
get rid of unused cpp dependency and some other unused extensions
add some limited docs for hacking hssqlppp
0.3.0
Released 11/08/2011
Cleanup release
lots of improvements to the parser
lots of regressions with the typechecking
lots of renames in the api
remove the dodgy exe file
reduce the dependencies drastically
temporarily drop quasiquotation
remove hdbc/postgresql dependency
0.2.0
Released 27/01/2010
0.1.0
Released 13/01/2010
0.0.10
Released 26/11/2009
0.0.9
Released 15/11/2009
0.0.8
Released 29/09/2009
0.0.7
Released 28/09/2009
0.0.6
Released 19/09/2009
0.0.5
Released 14/09/2009
0.0.4
Released 14/09/2009