X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=TODO;h=1b031763174e24aab28ed0b9edbdd72c3c5fecbc;hp=7d323af7995dd8093a206c96be31002c6c9f86e7;hb=66b64b326d109d6cb0d96923b60ed6aaeaeabb21;hpb=8213ff48f5362c3d4792444c929f50bd128bd044 diff --git a/TODO b/TODO index 7d323af..1b03176 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,101 @@ -Fix postgresql-socket on Lispworks and CMUCL so that the -socket stream uses a consistent element-type. +GENERAL +* test on (and port to) openmcl and mcl. SCL no longer affordable to + individuals; +* implement remaining functions for CLSQL AODBC backend; +* port Oracle and ODBC backend to UFFI. +* port postgresql-socket backend to OpenMCL +COMMONSQL SPEC + +* Missing: + + RECONNECT + CACHE-TABLE-QUERIES + *CACHE-TABLE-QUERIES-DEFAULT* + *DEFAULT-UPDATE-OBJECTS-MAX-LEN* + UPDATE-OBJECT-JOINS + INSTANCE-REFRESHED + + +* Incompatible + + + >> Initialisation and connection + + CONNECT + o should accept string as connection spec + + DISCONNECT + o should accept string as connection spec + + INITIALIZE-DATABASE-TYPE + o should initialise appropriate backend + + STATUS + o what is the behaviour in CommonSQL (esp :full parameter)? + + + >> The functional sql interface + + SELECT + o should accept keyword arg :refresh and call INSTANCE-REFRESHED + o should return (values result-list field-names) + o should coerce values returned as strings to appropriate lisp type + + QUERY + o should return (values result-list field-names) + o should coerce values returned as strings to appropriate lisp type + + LIST-ATTRIBUTE-TYPES + o should return list of (attribute datatype precision scale nullable) + + LOOP + o the extension is currently CMUCL specific + + + >> The object-oriented sql interface + + DEF-VIEW-CLASS + o get :target-slot working + o implement :retrieval :immediate + + LIST-CLASSES + o keyword arg :root-class should do something (portable) + + DO-QUERY,MAP-QUERY,LOOP + o should work with object queries as well as functional ones + + + >> Symbolic SQL syntax + + o Complete sql expressions (see operations.lisp) + + substr + some + order-by + times + nvl + null + distinct + except + intersect + between + userenv + + o variables (e.g., table identifiers) should be instantiated at runtime + + + +NOTES ABOUT THE BACKENDS + +MYSQL + +drop-index: requires a table to be specified with the :from keyword parameter +transactions: don't seem to work +views: mysql does not support views +queries: nested subqueries do not seem to work + +SQLITE + +create-view: column-list parameter not supported