r9450: 22 May 2004 Kevin Rosenberg
[clsql.git] / TODO
diff --git a/TODO b/TODO
index 7cff495150fc21226abd24332499c83c40c52a69..2daf98af477aedaa73886e7f3cdce3d0f3f7d96e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,72 +1,37 @@
-GENERAL 
-
-* port Oracle backend to UFFI.
-* consider adding large object support to mysql and odbc
-* add support for prepared statements. 
-
 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 result-types for MAP-QUERY and DO-QUERY
-
-COMMONSQL SPEC
-
-* Missing: 
-
-  UPDATE-OBJECT-JOINS 
-
-* Incompatible 
-
- >> The functional sql interface 
-  
-    SELECT 
-      o keyword arg :refresh should function as advertised 
-      o should accept type-modified database identifiers (e.g., 
-        [foo :string] which means that the values in column foo are returned 
-        as Lisp strings) 
-
- >> The object-oriented sql interface
-
-    DEF-VIEW-CLASS
-      o get :target-slot working 
-      o implement :retrieval :immediate 
-
-    LOOP
-      o should work with object queries as well as functional ones 
-
- >> 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 
+* test *db-auto-sync* 
+* for-each-row macro
+* universal-time 
+* owner phrases for postgresql and oracle backends
+* test of large table with large numbers of rows, greater than 2x the number of
+  rows (200) returned by the oracle backend at a time
+* test mixed case table identifiers and column identifiers
 
+COMMONSQL INCOMPATIBILITY
 
+   o doesn't support CHAR and NUMBER types as shown on CREATE-TABLE reference page
+   o (string n) => VARCHAR(n) rather than CHAR(n)
+   o userenv (Oracle specific but deprecated in Oracle 9) 
+VARIANCES FROM COMMONSQL
 
-NOTES ABOUT THE BACKENDS
+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. 
 
-MYSQL 
+OPTIMIZATIONS
+* Revisit result-type list creation, perhaps caching
 
-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
+POSSIBLE EXTENSIONS
 
-SQLITE 
+* extend large object support to databases beyond postgresql, improve large object api
+* add support for prepared statements
+* port Oracle backend to UFFI
 
-create-view: column-list parameter not supported