* 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
* test *db-auto-sync*
-* test :retrieval :deferred joins
+* for-each-row macro
+* universal-time
-COMMONSQL SPEC
+COMMONSQL INCOMPATIBILITY
-* Missing:
+<<<<<<< .mine
+ o Complete sql expressions (see operations.lisp)
- UPDATE-OBJECT-JOINS
+ nvl (Oracle specific)
+ userenv (Oracle specific)
+ minus (Oracle specific: does the same as EXCEPT)
+ ||
-* Incompatible
+=======
+>>>>>>> .r9364
+ o variables (e.g., table identifiers) should be instantiated at runtime
+<<<<<<< .mine
+=======
>> The functional sql interface
SELECT
>> Symbolic SQL syntax
- o Complete sql expressions (see operations.lisp)
+ o userenv (Oracle specific but deprecated in Oracle 9)
- nvl (Oracle specific)
- userenv (Oracle specific)
- minus (Oracle specific: does the same as EXCEPT)
- ||
+VARIANCES FROM COMMONSQL
- o variables (e.g., table identifiers) should be instantiated at runtime
+UPDATE-OBJECT-JOINS:
+ Rather than simply reading the values for each
+ object, to meet CommonSQL spec need to generate a single
+ query to read values for all objects, up to max-len count.
-OPTIMIZATIONS
+>>>>>>> .r9364
+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.
-* Revisit result-type list creation,perhaps caching
+OPTIMIZATIONS
+
+* 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
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
+create-view: column-list parameter not supported
+syntax: doesn't support the sql SUBSTRING operator.