X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=doc%2FTODO;h=b9f9f97d15100a53c972cc47e630ede1431f20a9;hp=53ca37466034366ed6e713a5e680e91da8db6228;hb=92cad9a9410b8e481987b90cc4f5edd8cc85e7ce;hpb=2ffbaf8f63878de07311a7a4a29dd737e0121ee8 diff --git a/doc/TODO b/doc/TODO index 53ca374..b9f9f97 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,84 +1,31 @@ DOCUMENTATION TO DO LIST -1. Variances from CommonSQL - - - Ideally, this will be extremely minimal - - - The SQL syntax state functions are macros in CLSQL. +1. Variances from CommonSQL (Ideally, this will be extremely minimal) 2. Underdocumented CommonSQL features: - Retrieval immediate - SQL operators: ||, SUBSTR, MINUS, INTERSECT, UNION, NVL -2. 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 +3. CLSQL extensions to CommonSQL - SQL operators: group-by, limit, not-null, ==, is, having, the, uplike, - sql-view-class, coalesce, except (just from a quick scan of - operations.lisp) - - - FDDL: list-views, view-exists-p, list-indexes, list-table-indexes, - 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, - :INNER-JOIN and :ON. - - - SQL-RECORDING-P: also accepts :both and :either values for the TYPE - parameter. - - - DROP-TABLE/DROP-VIEW/DROP-INDEX: keyword arg :if-does-not-exist. + view-class, coalesce, except, exists, substring, concat - - 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. - - - Tranactions: AUTOCOMMIT + - SELECT: additional keyword arguments accepted include :INNER-JOIN and :ON. 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.). - MYSQL - - drop-index: requires a table to be specified with the :from 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. - - SQLITE + - ODBC + - ORACLE - 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. - +6. Incorporate the threading-warnings.txt into the docs.