X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=TODO;h=fee5fe3e7ab461357f01334fd37a8dd7aac38b77;hb=89465a80557c2b03b9701b4239a34ded292eb018;hp=7d323af7995dd8093a206c96be31002c6c9f86e7;hpb=8213ff48f5362c3d4792444c929f50bd128bd044;p=clsql.git diff --git a/TODO b/TODO index 7d323af..fee5fe3 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,73 @@ -Fix postgresql-socket on Lispworks and CMUCL so that the -socket stream uses a consistent element-type. +TESTS TO ADD +* CACHE-TABLE-QUERIES +* Test that ":db-kind :key" adds an index for that key. This is complicated by different + backends showing autogenerated primary key in different ways. +* Large object testing +* Test bigint type +* :db-constraint tests +* *update-records-on-make-instance* +COMMONSQL SPEC + +* Missing: + + UPDATE-OBJECT-JOINS + +* Incompatible + + >> The functional sql interface + + SELECT + o keyword arg :refresh should function as advertised + + >> The object-oriented sql interface + + DEF-VIEW-CLASS + o implement :retrieval :immediate + + >> 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 + +OPTIMIZATIONS + +* Revisit result-type list creation,perhaps caching +* Use an inner join for :target-slot in SELECTS rather than multiple + queries. For example, in the test suite: + SELECT address.addressid,address.street_number,... FROM address + INNER JOIN employee_address ON employe_address.address_id=address.address_id + AND emplid= + +POSSIBLE EXTENSIONS + +* port Oracle backend to UFFI +* large object support +* add support for prepared statements + + +NOTES ABOUT THE BACKENDS + +MYSQL + +drop-index: requires a table to be specified with the :from keyword parameter +views: mysql does not support views +queries: nested subqueries are not supported + +SQLITE + +create-view: column-list parameter not supported