d6950a663595e7c2c2696d576dc1c6ffd525180e
[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
53  >> The object-oriented sql interface
54
55     DEF-VIEW-CLASS
56       o get :target-slot working 
57       o implement :retrieval :immediate 
58
59     LIST-CLASSES 
60       o keyword arg :root-class should do something (portable)
61
62     DO-QUERY,MAP-QUERY,LOOP
63       o should work with object queries as well as functional ones 
64
65
66  >> Symbolic SQL syntax 
67
68       o Complete sql expressions (see operations.lisp)
69
70          substr
71          some 
72          order-by 
73          times 
74          nvl
75          null 
76          distinct
77          except 
78          intersect 
79          between
80          userenv
81
82       o variables (e.g., table identifiers) should be instantiated at runtime 
83
84
85
86 NOTES ABOUT THE BACKENDS
87
88 MYSQL 
89
90 drop-index:   requires a table to be specified with the :from keyword parameter
91 transactions: don't seem to work  
92 views:        mysql does not support views  
93 queries:      nested subqueries do not seem to work 
94
95 SQLITE 
96
97 create-view: column-list parameter not supported