r9355: updates
authorKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 13 May 2004 18:01:13 +0000 (18:01 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 13 May 2004 18:01:13 +0000 (18:01 +0000)
ChangeLog
tests/test-init.lisp
tests/test-oodml.lisp

index 6c1d0131a583b03bbe80203c6a6dc656b674a638..d8580efcbca1a154772e3e18ea1b9c2efa3bdc1e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+13 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * tests/test-init.lisp: Add deferred-employee-address
+       class
+       * tests/test-oodml.lisp: Add deferred retrieval testgs
+       
 12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.10.17
        * LATEST-TEST-RESULTS: Run on all platforms, add AMD64
index 9b2597e171a6c9319aa9ebe1435e452adf0a2438..d98cbf226e4e2ce2490202b7ba0f559b6c8ac5fc 100644 (file)
                                  :retrieval :immediate)))
   (:base-table "ea_join"))
 
+(def-view-class deferred-employee-address ()
+  ((aemplid :type integer :initarg :emplid)
+   (aaddressid :type integer :initarg :addressid)
+   (verified :type boolean :initarg :verified)
+   (address :db-kind :join
+           :db-info (:join-class address
+                                 :home-key aaddressid
+                                 :foreign-key addressid
+                                 :retrieval :deferred)))
+  (:base-table "ea_join"))
+
 (defun test-connect-to-database (db-type spec)
   (when (clsql-sys:db-backend-has-create/destroy-db? db-type)
     (ignore-errors (destroy-database spec :database-type db-type))
index 2e906b283f6c305280e4979d8e089d0581512f8f..8d2281e6dded219eabdf92fdc742c123f216dec5 100644 (file)
             (select 'employee :flatp t :caching nil))
          t)
 
-       ;; :retrieval :immediate should be boundp before accessed
        (deftest :oodm/retrieval/2
+           (every #'(lambda (e) (not (slot-boundp e 'address)))
+            (select 'deferred-employee-address :flatp t :caching nil))
+         t)
+
+       ;; :retrieval :immediate should be boundp before accessed
+       (deftest :oodm/retrieval/3
            (every #'(lambda (ea) (slot-boundp ea 'address))
             (select 'employee-address :flatp t :caching nil))
          t)
 
-       (deftest :oodm/retrieval/3
+       (deftest :oodm/retrieval/4
            (mapcar #'(lambda (ea) (typep (slot-value ea 'address) 'address))
             (select 'employee-address :flatp t :caching nil))
          (t t t t t))
 
-       (deftest :oodm/retrieval/4
+       (deftest :oodm/retrieval/5
+           (mapcar #'(lambda (ea) (typep (slot-value ea 'address) 'address))
+            (select 'deferred-employee-address :flatp t :caching nil))
+         (t t t t t))
+
+       (deftest :oodm/retrieval/6
            (every #'(lambda (ea) (slot-boundp (slot-value ea 'address) 'addressid))
             (select 'employee-address :flatp t :caching nil))
          t)
 
-       (deftest :oodm/retrieval/5          
+       (deftest :oodm/retrieval/7
+           (every #'(lambda (ea) (slot-boundp (slot-value ea 'address) 'addressid))
+            (select 'deferred-employee-address :flatp t :caching nil))
+         t)
+
+       (deftest :oodm/retrieval/8          
            (mapcar #'(lambda (ea) (slot-value (slot-value ea 'address) 'street-number))
             (select 'employee-address :flatp t :order-by [aaddressid] :caching nil))
          (10 10 nil nil nil))
 
+       (deftest :oodm/retrieval/9
+           (mapcar #'(lambda (ea) (slot-value (slot-value ea 'address) 'street-number))
+            (select 'deferred-employee-address :flatp t :order-by [aaddressid] :caching nil))
+         (10 10 nil nil nil))
+
        ;; tests update-records-from-instance 
        (deftest :oodml/update-records/1
            (values
             collect (slot-value e 'last-name))
          ("Lenin" "Stalin" "Trotsky"))
 
-       ))
 
+      (deftest oodml/cache/1
+         (progn
+           (setf (clsql-sys:record-caches *default-database*) nil)
+           (let ((employees (select 'employee)))
+             (every #'(lambda (a b) (eq a b))
+                    employees (select 'employee))))
+       t)
+                        
+       ))
 #.(clsql:restore-sql-reader-syntax-state)