* CACHE-TABLE-QUERIES
* Test that ":db-kind :key" adds an index for that key. This is complicated by different
backends showing autogenerated primary key in different ways.
-* Large object testing
* Test bigint type
* :db-constraint tests
-* *update-records-on-make-instance*
+* test *db-auto-sync*
+* for-each-row macro
+* universal-time
-COMMONSQL SPEC
+COMMONSQL INCOMPATIBILITY
-* Missing:
+ o Condition names/accessors
+ o userenv (Oracle specific but deprecated in Oracle 9)
- UPDATE-OBJECT-JOINS
+VARIANCES FROM COMMONSQL
-* Incompatible
+COMMIT,ROLLBACK,START-TRANSACTION:
+ When COMMIT or ROLLBACK are called outside of WITH-TRANSACTION, an sql
+ transaction must be explicitly started first with START-TRANSACTION.
- >> The functional sql interface
-
- SELECT
- o keyword arg :refresh should function as advertised
+OPTIMIZATIONS
- >> The object-oriented sql interface
-
- DEF-VIEW-CLASS
- o implement :retrieval :immediate
-
- >> Symbolic SQL syntax
-
- o Complete sql expressions (see operations.lisp)
-
- substr
- some
- order-by
- times
- nvl
- null
- distinct
- except
- intersect
- between
- userenv
-
- o variables (e.g., table identifiers) should be instantiated at runtime
-
+* Revisit result-type list creation, perhaps caching
POSSIBLE EXTENSIONS
-* port Oracle backend to UFFI
-* large object support
+* extend large object support to databases beyond postgresql, improve large object api
* 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
-
-SQLITE
-
-create-view: column-list parameter not supported