r8908: all tests pass on all platforms
authorKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 9 Apr 2004 14:08:05 +0000 (14:08 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 9 Apr 2004 14:08:05 +0000 (14:08 +0000)
ChangeLog
TODO
base/loop-extension.lisp
debian/changelog

index e7b049f51da8744c0a7f91d2e68945e9ee0adb58..e54a205f4fc68546565dedf232cf3dfe6246e94c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+        * Version 2.5.0 released:
+       All tests for CLSQL and CLSQL-CLASSIC pass
+       on all platforms.
+       * base/loop-extension.lisp: Add Lispworks
+       loop-extension. Improve type specifying on
+       other platforms.
+       
 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.4.2 released:
        loop extension now supported on Allegro, all
diff --git a/TODO b/TODO
index 226c26f87d744a555e1d3f78a2573d7fad09c725..d6950a663595e7c2c2696d576dc1c6ffd525180e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -49,10 +49,6 @@ COMMONSQL SPEC
     LIST-ATTRIBUTE-TYPES
       o should return list of (attribute datatype precision scale nullable)    
 
-    LOOP 
-      o Port to lispworks. Potentially useful documentation:
-        http://www.lispworks.com/reference/lcl50/loop/loop-52.html 
-
 
  >> The object-oriented sql interface
 
index 2290f2736696b8adb1d7efb27f443882224d6ba7..76010e41bcb98e0813b92163ab1a0451d8d7b8e4 100644 (file)
                              'loop-record-result-set-))
             (step-var (ansi-loop::loop-gentemp 'loop-record-step-)))
         (push `(when ,result-set-var
-                (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
+                 (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
               ansi-loop::*loop-epilogue*)
-        `(((,variable nil ,data-type) (,query-var ,(first in-phrase))
+        `(((,variable nil ,@(and data-type (list data-type)))
+           (,query-var ,(first in-phrase))
            (,db-var ,(first from-phrase))
            (,result-set-var nil)
            (,step-var nil))
         (push `(when ,result-set-var
                 (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
               ansi-loop::*loop-epilogue*)
-        `(((,variable nil ,data-type) (,query-var ,(first in-phrase))
+        `(((,variable nil ,@(and data-type (list data-type)))
+           (,query-var ,(first in-phrase))
            (,db-var ,(first from-phrase))
            (,result-set-var nil))
           ((multiple-value-bind (%rs %cols)
             (result-set-var (ansi-loop::loop-gentemp
                              'loop-record-result-set-))
             (step-var (ansi-loop::loop-gentemp 'loop-record-step-)))
-        #+ignore
-        (push `(when ,result-set-var
-                (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
-              ansi-loop::*epilogue*)
-        `(((,iter-var nil ,iter-var-data-type) (,query-var ,(first in-phrase))
+        (values
+         t
+         nil
+         `(,@(mapcar (lambda (v) `(,v nil)) iter-var)
+           (,query-var ,in-phrase)
            (,db-var ,(first from-phrase))
            (,result-set-var nil)
            (,step-var nil))
-          ((multiple-value-bind (%rs %cols)
+         `((multiple-value-bind (%rs %cols)
                (clsql-base-sys:database-query-result-set ,query-var ,db-var)
              (setq ,result-set-var %rs ,step-var (make-list %cols))))
-          ()
-          ()
-          (not (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,step-var))
-          (,iter-var ,step-var)
-          (not ,result-set-var)
-          ()
-          (not (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,step-var))
-          (,iter-var ,step-var))))
+         ()
+         ()
+         `((unless (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,step-var)
+             (when ,result-set-var
+               (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
+             t))
+         `(,iter-var ,step-var)
+         `((unless (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,step-var)
+             (when ,result-set-var
+               (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
+             t))
+         `(,iter-var ,step-var)
+         ()
+         ())))
       (t
        (let ((query-var (ansi-loop::loop-gentemp 'loop-record-))
             (db-var (ansi-loop::loop-gentemp 'loop-record-database-))
             (result-set-var (ansi-loop::loop-gentemp
                              'loop-record-result-set-)))
-        #+ignore
-        (push `(when ,result-set-var
-                (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
-              ansi-loop::*epilogue*)
-        `(((,iter-var nil ,iter-var-data-type) (,query-var ,(first in-phrase))
+        (values
+         t
+         nil
+         `((,iter-var nil ,iter-var-data-type) (,query-var ,in-phrase)
            (,db-var ,(first from-phrase))
            (,result-set-var nil))
-          ((multiple-value-bind (%rs %cols)
+         `((multiple-value-bind (%rs %cols)
                (clsql-base-sys:database-query-result-set ,query-var ,db-var)
              (setq ,result-set-var %rs ,iter-var (make-list %cols))))
+         ()
+         ()
+         `((unless (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,iter-var)
+             (when ,result-set-var
+               (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
+             t))
           ()
-          ()
-          (not (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,iter-var))
-          ()
-          (not ,result-set-var)
-          ()
-          (not (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,iter-var))
-          ()))))))
-
-
+         `((unless (clsql-base-sys:database-store-next-row ,result-set-var ,db-var ,iter-var)
+             (when ,result-set-var
+               (clsql-base-sys:database-dump-result-set ,result-set-var ,db-var))
+             t))
+         ()
+         ()
+         ()))))))
 
index 4a46cdd499715692c79a021d5639fcf8297a8a88..c230cd67d7ce9eb174013128368df11d1d39f63e 100644 (file)
@@ -1,3 +1,9 @@
+cl-sql (2.5.0-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Fri,  9 Apr 2004 08:07:00 -0600
+
 cl-sql (2.4.2-1) unstable; urgency=low
 
   * New upstream