r9368: initial port to uffi
[clsql.git] / TODO
diff --git a/TODO b/TODO
index 0beae4cde3e4dab4a2b23f5fbfa099ecff5d5e94..c373914cbb900e9cfedd4d16c7ac0dc6d423e956 100644 (file)
--- a/TODO
+++ b/TODO
@@ -3,21 +3,28 @@ TESTS TO ADD
 * 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 SELECT caching
 * 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 
@@ -25,24 +32,29 @@ COMMONSQL SPEC
 
  >> 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
@@ -52,7 +64,9 @@ 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 
+create-view:  column-list parameter not supported 
+syntax:       doesn't support the sql SUBSTRING operator.