1 DOCUMENTATION TO DO LIST
3 1. Variances from CommonSQL (Ideally, this will be extremely minimal)
5 - The SQL syntax state functions are macros in CLSQL.
7 2. Underdocumented CommonSQL features:
10 - SQL operators: ||, SUBSTR, MINUS, INTERSECT, UNION, NVL
12 2. CLSQL extensions to CommonSQL
14 - RESULT-TYPES, FIELD-NAMES keywords for SELECT, QUERY, DO-QUERY and
17 - New types such as wall-time, boolean, and bigint
19 - SQL operators: group-by, limit, not-null, ==, is, having, the, uplike,
20 sql-view-class, coalesce, except (just from a quick scan of
23 - FDDL: list-views, view-exists-p, list-indexes, list-table-indexes,
24 index-exists-p, create-sequence, drop-sequence, list-sequences,
25 sequence-exists-p, sequence-next, sequence-last, set-sequence-position
27 - FDML: TRUNCATE-DATABASE, DESCRIBE-TABLE, FOR-EACH-ROW and large object
30 - OODML: *db-auto-sync*
32 - SELECT: additional keyword arguments accepted include :LIMIT, :OFFSET,
35 - SQL-RECORDING-P: also accepts :both and :either values for the TYPE
38 - DROP-TABLE/DROP-VIEW/DROP-INDEX: keyword arg :if-does-not-exist.
40 - DROP-INDEX: keyword arg :on (for MySQL).
42 - DEF-VIEW-CLASS: DB-CONSTRAINTS, DB-TYPE and VOID-VALUE slot options.
44 - CREATE-TABLE: keyword args :TRANSACTIONS (for MySQL) and :CONSTRAINTS;
45 description arg accepts optional DB-TYPE string.
47 - transactions: START-TRANSACTION and IN-TRANSACTION-P.
49 - Tranactions: AUTOCOMMIT
51 4. Documenting lower level, non-CommonSQL functions (some of this is already
55 - database-query-result-set
58 5. Notes on any peculiarities of each of the backends (e.g., unsupported
59 features, notable extensions etc.).
63 drop-index: requires a table to be specified with the :from parameter
64 views: mysql does not support views
65 queries: nested subqueries are not supported
66 syntax: doesn't support the sql concatenation operator (||).
67 doesn't support INTERSECT/EXCEPT set operations.
68 create-table: the transactions keyword arg controls whether the created
69 table is an InnoDB table (supporting transactions) or not.
73 connection: specifying ":memory:" gives you an SQLite database in RAM.
74 create-view: column-list parameter not supported
75 syntax: doesn't support the sql SUBSTRING operator.