xml: output final table schemas (close #92)
[sqlgg.git] / changelog
blobad59b0ea221b56dd94a0a534c9988e96c6f2715e
1 sqlgg changelog
2 ---------------
4 20200521
5         * switch versioning scheme
6         * switch build system to dune
7         * sql: EXISTS, nested JOINs, SUBSTRING, DROP VIEW, ALTER RENAME,
8                 RENAME TABLE, DIV, MOD, LAST_INSERT_ID, UNIX_TIMESTAMP(DATE),
9                 TIMESTAMPDIFF, TIMESTAMPADD, DATE, TIME, POW, INSERT DEFAULT
10         * sql: INSERT scope fixes
11         * ocaml: monadic IO with `-gen caml_io`
12         * ocaml: mariadb traits
13         * ocaml: parameters in callbacks are now named
14         * sql: variant parameters (ocaml only)
15         * traits: + Decimal
16         * typing: rudimentary NULL support
17         * sql: do not fail on unknown functions (treat as untyped and emit warning)
18         * gen: allow filtering by DDL, DML, DQL, etc
20 0.4.5
21 2018-10-16
22         * improve type resolution for functions
23         * improve single-row detection
24         * improve type for numeric expressions a bit
25         * sql: ANY_VALUE, IS NOT DISTINCT FROM, COUNT(DISTINCT ...), from_unixtime,
26                 IFNULL, NULLIF, multi-value INSERT
27         * sql: more datetime functions (sqlite)
28         * caml: generate List module
29         * forbid `-params none` with autogenerated parameters
30         * mysql: allow override value types
32 0.4.4
33 2018-03-10
34         * build: switch to ppx_deriving, fixes build with OCaml 4.06
36 0.4.3
37 2017-09-30
38         * build: fix again
40 0.4.2
41 2017-09-30
42         * build: static oasis setup
44 0.4.1
45 2017-09-30
46         * build: do not require mysql and sqlite3
48 0.4.0
49 2017-09-30
50         * sql: many typing improvements
51         * sql: SELECT FOR UPDATE, ON UPDATE, ON DELETE, ON DUPLICATE KEY UPDATE,
52                 IS NOT? NULL, INTERVAL, CREATE INDEX column(N), VALUES function, UUID,
53                 SELECT IF
54         * sql: parse stored procedures
55         * sql: dynamically add functions
56         * ocaml: support multiple substitutions in queries
57         * ocaml: install traits and implementations as subpackages
59 0.3.0
60 2015-04-14
61         * fix common prefix truncation for automatic variable names
62         * -no-header option
63         * ocaml: support datetime and float types
64         * sql: allow SELECT without FROM
65         * switch build system to oasis
66         * start split out sql parsing library
68 0.2.5
69 2014-04-25
70         * require ocamlfind, OUnit2 compatibility
71         * xml: output more query information (Petter Urkedal)
72         * sql: support PostgreSQL parameters (Petter Urkedal)
74 0.2.4
75 2013-09-16
76         + sql: more SQL
77         + `-gen none` to suppress output
78         + `-show-tables` to list tables
79         * treat all input files as one stream of statements
80         * do not generate code on errors
81         + ocaml: mysql traits, Fold callbacks
82         * simplify build
83         * allow ad-hoc substitution in generated sql (experimental)
85 0.2.3
86 2009-08-24
87         + sql: detect single-row SELECT (LIMIT 1, grouping without GROUP BY)
88         + ocaml: more robust traits
89         + sqlgg: noparse attribute
90         + sql: ORDER BY, explicit VALUES, CREATE LIKE, INSERT INTO ... SELECT,
91                         multi-table UPDATE, CASE, CREATE INDEX
92         + csharp: IEnumerable<>
94 0.2.2
95 2009-06-28
96         + generate C#
97         + parse table constraints
98         + reuse prepared statements
99         + substitute params syntax in queries to match target
100         + parse more SQL (mysql quirks, ALTER, DROP TABLE, INSERT SET)
101         + better infer types for UPDATE SET
103 0.2.1
104 2009-06-02
105         + generate XML and Java
106         + c++ traits for mysql
107         + parse more SQL
109 0.2.0
110 2009-05-17
111         + understands all basic SQL
112         + generate OCaml and C++
114 0.1.0
115 2009-05-05
116         + cleaned up old code