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