-GENERAL
-
-* port Oracle backend to UFFI.
-* consider adding large object support to mysql and odbc
-
TESTS TO ADD
* CACHE-TABLE-QUERIES
-* :VOID-VALUE, use a new view-class with several fields with different void-values
-* :db-kind :key adds an index for that key, complicated by different
- backends show autogenerated primary key in different ways.
-* New universal and bigint types, add tests for other types
+* 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
+
COMMONSQL SPEC
* Missing:
SELECT
o keyword arg :refresh should function as advertised
- o should return (values result-list field-names)
- o should coerce values returned as strings to appropriate lisp type
-
- QUERY
- o should coerce values returned as strings to appropriate lisp type
- for SQLite backend
-
- >> The object-oriented sql interface
-
- DEF-VIEW-CLASS
- o get :target-slot working
- o implement :retrieval :immediate
-
- DO-QUERY,MAP-QUERY,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
+ nvl (Oracle specific)
+ userenv (Oracle specific)
+ minus (Oracle specific: does the same as EXCEPT)
+ ||
o variables (e.g., table identifiers) should be instantiated at runtime
+OPTIMIZATIONS
+
+* Revisit result-type list creation,perhaps caching
+
+POSSIBLE EXTENSIONS
+
+* port Oracle backend to UFFI
+* large object support
+* add support for prepared statements
NOTES ABOUT THE BACKENDS