-
Notifications
You must be signed in to change notification settings - Fork 20
/
changelog
134 lines (117 loc) · 3.82 KB
/
changelog
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
sqlgg changelog
---------------
?
+ sql: allow to type-annotate parameters with `:: SQLTYPE NULL?` to help type-checker
20231201
+ ocaml: support IN @x via text substitution
+ sql: support batch insert with syntax INSERT INTO x(...) VALUES @xs
+ sql: rudimentary NULL handling (direct column assignments)
+ sql: multi-table DELETE
+ ocaml: update traits to track read/write nature of ops
* ocaml: cleanup whitespace
* sql: implicitly convert int<->decimal, require explicit cast for float<->decimal
+ sql: more string and window functions
+ sql: CAST, FLOOR, MOD, CONVERT, AS (expr), DROP FOREIGN KEY, ALTER TABLE .. [CONVERT TO] CHARACTER SET .., ALTER TABLE ... ADD CONSTRAINT
* sql: fix table alias handling
+ cli: -static-header
* sql: fix DATE type
* sql: fix ORDER BY with multiple params
20200521
* switch versioning scheme
* switch build system to dune
* sql: EXISTS, nested JOINs, SUBSTRING, DROP VIEW, ALTER RENAME,
RENAME TABLE, DIV, MOD, LAST_INSERT_ID, UNIX_TIMESTAMP(DATE),
TIMESTAMPDIFF, TIMESTAMPADD, DATE, TIME, POW, INSERT DEFAULT
* sql: INSERT scope fixes
* ocaml: monadic IO with `-gen caml_io`
* ocaml: mariadb traits
* ocaml: parameters in callbacks are now named
* sql: variant parameters (ocaml only)
* traits: + Decimal
* typing: rudimentary NULL support
* sql: do not fail on unknown functions (treat as untyped and emit warning)
* gen: allow filtering by DDL, DML, DQL, etc
0.4.5
2018-10-16
* improve type resolution for functions
* improve single-row detection
* improve type for numeric expressions a bit
* sql: ANY_VALUE, IS NOT DISTINCT FROM, COUNT(DISTINCT ...), from_unixtime,
IFNULL, NULLIF, multi-value INSERT
* sql: more datetime functions (sqlite)
* caml: generate List module
* forbid `-params none` with autogenerated parameters
* mysql: allow override value types
0.4.4
2018-03-10
* build: switch to ppx_deriving, fixes build with OCaml 4.06
0.4.3
2017-09-30
* build: fix again
0.4.2
2017-09-30
* build: static oasis setup
0.4.1
2017-09-30
* build: do not require mysql and sqlite3
0.4.0
2017-09-30
* sql: many typing improvements
* sql: SELECT FOR UPDATE, ON UPDATE, ON DELETE, ON DUPLICATE KEY UPDATE,
IS NOT? NULL, INTERVAL, CREATE INDEX column(N), VALUES function, UUID,
SELECT IF
* sql: parse stored procedures
* sql: dynamically add functions
* ocaml: support multiple substitutions in queries
* ocaml: install traits and implementations as subpackages
0.3.0
2015-04-14
* fix common prefix truncation for automatic variable names
* -no-header option
* ocaml: support datetime and float types
* sql: allow SELECT without FROM
* switch build system to oasis
* start split out sql parsing library
0.2.5
2014-04-25
* require ocamlfind, OUnit2 compatibility
* xml: output more query information (Petter Urkedal)
* sql: support PostgreSQL parameters (Petter Urkedal)
0.2.4
2013-09-16
+ sql: more SQL
+ `-gen none` to suppress output
+ `-show-tables` to list tables
* treat all input files as one stream of statements
* do not generate code on errors
+ ocaml: mysql traits, Fold callbacks
* simplify build
* allow ad-hoc substitution in generated sql (experimental)
0.2.3
2009-08-24
+ sql: detect single-row SELECT (LIMIT 1, grouping without GROUP BY)
+ ocaml: more robust traits
+ sqlgg: noparse attribute
+ sql: ORDER BY, explicit VALUES, CREATE LIKE, INSERT INTO ... SELECT,
multi-table UPDATE, CASE, CREATE INDEX
+ csharp: IEnumerable<>
0.2.2
2009-06-28
+ generate C#
+ parse table constraints
+ reuse prepared statements
+ substitute params syntax in queries to match target
+ parse more SQL (mysql quirks, ALTER, DROP TABLE, INSERT SET)
+ better infer types for UPDATE SET
0.2.1
2009-06-02
+ generate XML and Java
+ c++ traits for mysql
+ parse more SQL
0.2.0
2009-05-17
+ understands all basic SQL
+ generate OCaml and C++
0.1.0
2009-05-05
+ cleaned up old code