bf7884a19001bb60db9692a1ac6d671d48db124e
[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 userenv (Oracle specific but deprecated in Oracle 9) 
26
27 VARIANCES FROM COMMONSQL
28
29 UPDATE-OBJECT-JOINS:
30  Rather than simply reading the values for each
31  object, to meet CommonSQL spec need to generate a single
32  query to read values for all objects, up to max-len count.
33
34 COMMIT,ROLLBACK,START-TRANSACTION: 
35  When COMMIT or ROLLBACK are called outside of WITH-TRANSACTION, an sql 
36  transaction must be explicitly started first with START-TRANSACTION. 
37
38 OPTIMIZATIONS
39  
40 * Revisit result-type list creation,perhaps caching
41
42 POSSIBLE EXTENSIONS
43
44 * port Oracle backend to UFFI
45 * large object support 
46 * add support for prepared statements
47
48
49 NOTES ABOUT THE BACKENDS
50
51 MYSQL 
52
53 drop-index:   requires a table to be specified with the :from keyword parameter
54 views:        mysql does not support views  
55 queries:      nested subqueries are not supported
56 syntax:       doesn't support the sql concatenation operator (||). 
57
58 SQLITE 
59
60 create-view:  column-list parameter not supported 
61 syntax:       doesn't support the sql SUBSTRING operator.