r9360: Strings as table identifiers in SELECT.
[clsql.git] / TODO
1 TESTS TO ADD
2
3 * CACHE-TABLE-QUERIES
4 * Test that ":db-kind :key" adds an index for that key. This is complicated by different
5   backends showing autogenerated primary key in different ways.
6 * Large object testing
7 * Test bigint type
8 * :db-constraint tests
9 * test *db-auto-sync* 
10 * test SELECT caching
11 * for-each-row macro
12 * universal-time 
13
14 COMMONSQL SPEC
15
16 * Incompatible 
17
18  >> The functional sql interface 
19   
20     SELECT 
21       o keyword arg :refresh should function as advertised 
22
23  >> Symbolic SQL syntax 
24
25       o Complete sql expressions (see operations.lisp)
26
27          nvl (Oracle specific) 
28          userenv (Oracle specific) 
29          minus (Oracle specific: does the same as EXCEPT) 
30
31       o variables (e.g., table identifiers) should be instantiated at runtime 
32
33
34 VARIANCES FROM COMMONSQL
35
36 UPDATE-OBJECT-JOINS:
37  Rather than simply reading the values for each
38  object, to meet CommonSQL spec need to generate a single
39  query to read values for all objects, up to max-len count.
40
41 COMMIT,ROLLBACK,START-TRANSACTION: 
42  When COMMIT or ROLLBACK are called outside of WITH-TRANSACTION, an sql 
43  transaction must be explicitly started first with START-TRANSACTION. 
44
45 OPTIMIZATIONS
46  
47 * Revisit result-type list creation,perhaps caching
48
49 POSSIBLE EXTENSIONS
50
51 * port Oracle backend to UFFI
52 * large object support 
53 * add support for prepared statements
54
55
56 NOTES ABOUT THE BACKENDS
57
58 MYSQL 
59
60 drop-index:   requires a table to be specified with the :from keyword parameter
61 views:        mysql does not support views  
62 queries:      nested subqueries are not supported
63 syntax:       doesn't support the sql concatenation operator (||). 
64
65 SQLITE 
66
67 create-view:  column-list parameter not supported 
68 syntax:       doesn't support the sql SUBSTRING operator.