r8910: rework so that tests are automatically run for multiple backends
[clsql.git] / TODO
1 GENERAL 
2
3 * test on mcl. SCL no longer affordable to individuals;
4 * implement remaining functions for CLSQL AODBC backend;
5 * port Oracle and ODBC backend to UFFI.
6
7 COMMONSQL SPEC
8
9 * Missing: 
10
11   RECONNECT 
12   CACHE-TABLE-QUERIES 
13   *CACHE-TABLE-QUERIES-DEFAULT*
14   *DEFAULT-UPDATE-OBJECTS-MAX-LEN* 
15   UPDATE-OBJECT-JOINS 
16   INSTANCE-REFRESHED
17
18
19 * Incompatible 
20
21
22  >> Initialisation and connection 
23
24     CONNECT 
25      o should accept string as connection spec 
26
27     DISCONNECT
28      o should accept string as connection spec 
29
30     INITIALIZE-DATABASE-TYPE
31      o should initialise appropriate backend 
32
33     STATUS 
34      o what is the behaviour in CommonSQL (esp :full parameter)? 
35
36
37  >> The functional sql interface 
38   
39     SELECT 
40       o should accept keyword arg :refresh and call INSTANCE-REFRESHED
41       o should return (values result-list field-names)
42       o should coerce values returned as strings to appropriate lisp type
43
44     QUERY 
45       o should return (values result-list field-names) 
46       o should coerce values returned as strings to appropriate lisp type
47
48     LIST-ATTRIBUTE-TYPES
49       o should return list of (attribute datatype precision scale nullable)     
50
51
52  >> The object-oriented sql interface
53
54     DEF-VIEW-CLASS
55       o get :target-slot working 
56       o implement :retrieval :immediate 
57
58     LIST-CLASSES 
59       o keyword arg :root-class should do something (portable)
60
61     DO-QUERY,MAP-QUERY,LOOP
62       o should work with object queries as well as functional ones 
63
64
65  >> Symbolic SQL syntax 
66
67       o Complete sql expressions (see operations.lisp)
68
69          substr
70          some 
71          order-by 
72          times 
73          nvl
74          null 
75          distinct
76          except 
77          intersect 
78          between
79          userenv
80
81       o variables (e.g., table identifiers) should be instantiated at runtime 
82
83
84
85 NOTES ABOUT THE BACKENDS
86
87 MYSQL 
88
89 drop-index:   requires a table to be specified with the :from keyword parameter
90 transactions: don't seem to work  
91 views:        mysql does not support views  
92 queries:      nested subqueries do not seem to work 
93
94 SQLITE 
95
96 create-view: column-list parameter not supported