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.
* :db-constraint tests
-* test *db-auto-sync*
-* for-each-row macro
-* owner phrases for postgresql and oracle backends
* Number and Char field types
-* Add test case for return type of (setf slot-value-using-class)
* symbol slot
* generalized-boolean slot
-* column and table constraints in CREATE-TABLE and DEF-VIEW-CLASS.
-* escaping of single quotes
OPTIMIZATIONS
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
1. Variances from CommonSQL (Ideally, this will be extremely minimal)
- - The SQL syntax state functions are macros in CLSQL.
- - CLSQL starts with in transaction AUTOCOMMIT mode.
-
-
2. Underdocumented CommonSQL features:
- Retrieval immediate
- SQL operators: ||, SUBSTR, MINUS, INTERSECT, UNION, NVL
-
3. CLSQL extensions to CommonSQL
- - New types such as wall-time, boolean, and bigint
-
- SQL operators: group-by, limit, not-null, ==, is, having, the, uplike,
view-class, coalesce, except, exists, substring, concat
- - OODML: *db-auto-sync*
-
- SELECT: additional keyword arguments accepted include :LIMIT, :OFFSET,
:INNER-JOIN and :ON.
- - DEF-VIEW-CLASS: DB-CONSTRAINTS, DB-TYPE and VOID-VALUE slot options.
-
-
4. Documenting lower level, non-CommonSQL functions (some of this is already
done).
- connection pools
- database-query-result-set
-
5. Notes on any peculiarities of each of the backends (e.g., unsupported
features, notable extensions etc.).