1 * map enum strings to values
2 * write tutorial (for all languages), start documentation
3 * native-type annotations in queries
4 * output params syntax for different DB
5 * guarantee correct duplicate params usage
6 * allow to parametrize SQL syntax itself (ORDER BY ASC|DESC) : unsafe/enumeration/option params
7 * camlp4 syntax extension for inline sql
8 * allow to tolerate errors in query
9 * detect single-row queries (COUNT(*) without GROUP BY (done), LIMIT 1 (done), SELECT and UNIQUE INDEX, SELECT const without WHERE (done))
10 * support BULK INSERTs (how?)
11 * decide what to do with unquoted identifiers matching keywords (better error reporting at least)
12 * provide ways to extend lexer with tokens in runtime
13 * choose better names for some common cases (WHERE id = ? etc)
14 * fix line numbers in error output
15 * enhance error reporting (take into account target language)
16 * calculate types more precisely, type inference is too primitive
17 * verify that each parameter gets one type inferred
19 * detect statements on single tables and group the corresponding generated code together
20 * use prepared statements in all traits
21 * check all generated names for uniqueness and validity with regard to target language
22 * support/test other SQL engines
23 * generate code for more languages
25 * distinguish predicates and expressions
26 * type check expressions