+18 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
+ * TODO: moved notes about backends to doc/TODO.
+ * doc/TODO: added notes about backends and select extensions.
+ * sql/base-classes.lisp: remove obsolete schema slot in database
+ class.
+
16 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
* db-oracle/oracle-api: Add OCIServerVersion
* db-oracle/oracle-sql: Query and store server version on connect
* add support for prepared statements
* port Oracle backend to UFFI
-
-NOTES ABOUT THE BACKENDS
-
-MYSQL
-
-drop-index: requires a table to be specified with the :from keyword parameter
-views: mysql does not support views
-queries: nested subqueries are not supported
-syntax: doesn't support the sql concatenation operator (||).
-
-SQLITE
-
-create-view: column-list parameter not supported
-syntax: doesn't support the sql SUBSTRING operator.
2. Underdocumented CommonSQL features:
- Retrieval immediate
- - SQL operators: ||, SUBSTR, EXCEPT, INTERSECT, UNION ...
+ - SQL operators: ||, SUBSTR, MINUS, INTERSECT, UNION, NVL
2. CLSQL extensions to CommonSQL
- New types such as wall-time, boolean, and bigint
- SQL operators: group-by, limit, not-null, ==, is, having, the, uplike,
- sql-view-class (just from a quick scan of operations.lisp)
+ 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,
- OODML: *db-auto-sync*
-4. Documenting lower level, non-CommonSQL functions like connection
- pools and database-query-result-set. Some of this is already done.
+ - SELECT: additional keyword arguments accepted include :LIMIT, :OFFSET,
+ :INNER-JOIN and :ON.
-5. Notes on any features unsupported by each of the backends.
+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 :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.
+
+ - 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.