2. CLSQL extensions to CommonSQL
- - RESULT-TYPES, FIELD-NAMES keywords for SELECT and QUERY
+ - RESULT-TYPES, FIELD-NAMES keywords for SELECT, QUERY, DO-QUERY and
+ MAP-QUERY.
- New types such as wall-time, boolean, and bigint
index-exists-p, create-sequence, drop-sequence, list-sequences,
sequence-exists-p, sequence-next, sequence-last, set-sequence-position
+ - FDML: TRUNCATE-DATABASE, DESCRIBE-TABLE, FOR-EACH-ROW and large object
+ support.
+
- OODML: *db-auto-sync*
- SELECT: additional keyword arguments accepted include :LIMIT, :OFFSET,
- SQL-RECORDING-P: also accepts :both and :either values for the TYPE
parameter.
- - SQL-EXPRESSION: also accepts a :params keyword arg which is passed
+ - DROP-TABLE/DROP-VIEW/DROP-INDEX: keyword arg :if-does-not-exist.
+
+ - DROP-INDEX: keyword arg :on (for MySQL).
+
+ - DEF-VIEW-CLASS: DB-CONSTRAINTS, DB-TYPE and VOID-VALUE slot options.
+
+ - CREATE-TABLE: keyword args :TRANSACTIONS (for MySQL) and :CONSTRAINTS;
+ description arg accepts optional DB-TYPE string.
+
+ - transactions: START-TRANSACTION and IN-TRANSACTION-P.
+
+ - FIND-DATABASE: :db-type keyword arg.
+
+ - CONNECT: :make-default and :pool keyword args.
+
4. Documenting lower level, non-CommonSQL functions (some of this is already
done).
- connection pools
- database-query-result-set
+ - with-default-database, with-database, create-database, probe-database,
+ destroy-database, list-databases.
+
5. Notes on any peculiarities of each of the backends (e.g., unsupported
features, notable extensions etc.).
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.
- SQLITE