DOCUMENTATION TO DO LIST 1. Variances from CommonSQL (Ideally, this will be extremely minimal) - The SQL syntax state functions are macros in CLSQL. - CLSQL starts with in transaction AUTOCOMMIT mode. To begin a transaction, START-TRANSACTION has to be called. 2. Underdocumented CommonSQL features: - Retrieval immediate - SQL operators: ||, SUBSTR, MINUS, INTERSECT, UNION, NVL 3. CLSQL extensions to CommonSQL - RESULT-TYPES, FIELD-NAMES keywords for SELECT, QUERY, DO-QUERY and MAP-QUERY. - New types such as wall-time, boolean, and bigint - SQL operators: group-by, limit, not-null, ==, is, having, the, uplike, sql-view-class, coalesce, except (just from a quick scan of operations.lisp) - FDML: TRUNCATE-DATABASE, FOR-EACH-ROW and large object support. - OODML: *db-auto-sync* - SELECT: additional keyword arguments accepted include :LIMIT, :OFFSET, :INNER-JOIN and :ON. - SQL-RECORDING-P: also accepts :both and :either values for the TYPE parameter. - DEF-VIEW-CLASS: DB-CONSTRAINTS, DB-TYPE and VOID-VALUE slot options. - transactions: START-TRANSACTION and IN-TRANSACTION-P. - Tranactions: AUTOCOMMIT 4. Documenting lower level, non-CommonSQL functions (some of this is already done). - connection pools - database-query-result-set 5. Notes on any peculiarities of each of the backends (e.g., unsupported features, notable extensions etc.). - MYSQL drop-index: requires a table to be specified with the :on parameter views: mysql does not support views queries: nested subqueries are not supported syntax: doesn't support the sql concatenation operator (||). doesn't support INTERSECT/EXCEPT set operations. create-table: the transactions keyword arg controls whether the created table is an InnoDB table (supporting transactions) or not. FDDL: list-*/*-exists-p: :OWNER keyword argument ignored. - SQLITE connection: specifying ":memory:" gives you an SQLite database in RAM. create-view: column-list parameter not supported syntax: doesn't support the sql SUBSTRING operator. FDDL: list-*/*-exists-p: :OWNER keyword argument ignored. - ODBC FDDL: list-*/*-exists-p: :OWNER keyword argument ignored.