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)
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
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
34 * build: switch to ppx_deriving, fixes build with OCaml 4.06
42 * build: static oasis setup
46 * build: do not require mysql and sqlite3
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,
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
61 * fix common prefix truncation for automatic variable names
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
70 * require ocamlfind, OUnit2 compatibility
71 * xml: output more query information (Petter Urkedal)
72 * sql: support PostgreSQL parameters (Petter Urkedal)
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
83 * allow ad-hoc substitution in generated sql (experimental)
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<>
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
105 + generate XML and Java
106 + c++ traits for mysql
111 + understands all basic SQL
112 + generate OCaml and C++
116 + cleaned up old code