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.
-* Test bigint type
+* Test that ":db-kind :key" adds an index for that key. This is complicated by
+ different backends showing autogenerated primary key in different ways.
* :db-constraint tests
-* 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
-
-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
-
-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.
+* Number and Char field types
+* symbol slot
+* generalized-boolean slot
+* tests for db-reader and db-writer
OPTIMIZATIONS
* Revisit result-type list creation, perhaps caching
+* Rework LIST-ATTRIBUTE-TYPES and LIST-INDEXES such that they exhibit their
+ current behaviours using single database queries.
+* Possible use of cached attribute type information for operations which
+ insert/update records as mentioned in the CommonSQL user guide.
+* Extend caching of generated SQL strings to more complex expressions which
+ are likely to be repeatedly executed many times.
POSSIBLE EXTENSIONS
-* extend large object support to databases beyond postgresql, improve large object api
+* improve large object api and extend to databases beyond postgresql
* add support for prepared statements
-* port Oracle backend to UFFI
+RACE CONDITIONS
+* sql/databases.lisp: *connected-databases* is shared globally but not modified in a threadsafe manner.