r9244: Automated commit for Debian build of clsql upstream-version-2.10.11
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 5 May 2004 08:36:20 +0000 (08:36 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 5 May 2004 08:36:20 +0000 (08:36 +0000)
ChangeLog
TODO
debian/changelog
sql/objects.lisp

index fe6e0f957eb1a6e9576ac97acb71ce3d832a27b3..30003681d31df24262520ef415566005ebb6b61e 100644 (file)
--- 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 eaadf078ffe3ef8ba9e3ccda8d70b5f9e4dc8de7..d63b9af6cb4d233dfe1911ea9326d0cb6afa9b9f 100644 (file)
--- 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
 
index 6bbb35ebc1be439e962858e67bfa461172d1e202..be870dfeb548461911e3540bc67bda4a79ba6efa 100644 (file)
@@ -1,3 +1,9 @@
+cl-sql (2.10.11-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Wed,  5 May 2004 02:06:19 -0600
+
 cl-sql (2.10.10-1) unstable; urgency=low
 
   * New upstream
index 1342fe3a09ced2c6a4dc7b2740aed1e7788944f8..fccf37dbb2a359dc854e1e31c268525af9d6f91e 100644 (file)
@@ -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)