From f469a630aeb903c0574dea5b1ac478bed182d072 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Wed, 5 May 2004 08:36:20 +0000 Subject: [PATCH] r9244: Automated commit for Debian build of clsql upstream-version-2.10.11 --- ChangeLog | 10 +++++++++- TODO | 14 +++++++------- debian/changelog | 6 ++++++ sql/objects.lisp | 17 +++++++++++++++-- 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index fe6e0f9..3000368 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,22 @@ 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.11 * base/basic-sql.lisp: Avoid multiple evaluation of query-expression in DO-QUERY * sql/objects.lisp: Make SELECT a normal function. SELECT now accepts type-modified database identifiers, such as [foo :string] which means that the values in column foo are returned as Lisp strings. Add new *update-records-on-make-instance* special - variable controlling automatic creation of new instances. + variable controlling automatic creation of new instances. Add missing + RESULT-TYPES keyword to FIND-ALL. Add :target-slot support. * sql/packages.lisp: Export *update-records-on-make-instance* + * test/test-oodml.lisp: Add tests for :target-slot and many-to-many + selections. * test/test-fdml.lisp: Add tests for type-modified database identifiers. + * test/test-init.lisp: Stop using add-relation since implementing + many-to-many joins. Use *update-records-on-make-instance* + to automatically store records on instance creation. Add many-to-many + employee-address view-class. 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net) * Version 2.10.10 diff --git a/TODO b/TODO index eaadf07..d63b9af 100644 --- a/TODO +++ b/TODO @@ -6,12 +6,7 @@ TESTS TO ADD * Large object testing * Test bigint type * :db-constraint tests - -POSSIBLE EXTENSIONS - -* port Oracle backend to UFFI -* large object support -* add support for prepared statements +* *update-records-on-make-instance* COMMONSQL SPEC @@ -29,7 +24,6 @@ COMMONSQL SPEC >> The object-oriented sql interface DEF-VIEW-CLASS - o get :target-slot working o implement :retrieval :immediate >> Symbolic SQL syntax @@ -51,6 +45,12 @@ COMMONSQL SPEC o variables (e.g., table identifiers) should be instantiated at runtime +POSSIBLE EXTENSIONS + +* port Oracle backend to UFFI +* large object support +* add support for prepared statements + NOTES ABOUT THE BACKENDS diff --git a/debian/changelog b/debian/changelog index 6bbb35e..be870df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-sql (2.10.11-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Wed, 5 May 2004 02:06:19 -0600 + cl-sql (2.10.10-1) unstable; urgency=low * New upstream diff --git a/sql/objects.lisp b/sql/objects.lisp index 1342fe3..fccf37d 100644 --- a/sql/objects.lisp +++ b/sql/objects.lisp @@ -718,6 +718,19 @@ superclass of the newly-defined View Class." (res (fault-join-slot-raw class object slot-def))) (when res (cond + ((and ts (gethash :target-slot dbi) (gethash :set dbi)) + (mapcar (lambda (obj) + (let* ((target-name (gethash :target-slot dbi)) + (target-class (find-class target-name))) + (cons + (car + (fault-join-slot-raw + target-class + obj + (find target-name (class-slots (class-of obj)) + :key #'slot-definition-name))) + obj))) + res)) ((and ts (gethash :set dbi)) (mapcar (lambda (obj) (cons obj (slot-value obj ts))) res)) @@ -769,10 +782,10 @@ superclass of the newly-defined View Class." (defun find-all (view-classes &rest args &key all set-operation distinct from where group-by having order-by order-by-descending offset limit - refresh flatp (database *default-database*)) + refresh flatp result-types (database *default-database*)) "Called by SELECT to generate object query results when the View Classes VIEW-CLASSES are passed as arguments to SELECT." - (declare (ignore all set-operation group-by having offset limit) + (declare (ignore all set-operation group-by having offset limit result-types) (optimize (debug 3) (speed 1))) (remf args :from) (remf args :flatp) -- 2.34.1