added a test for setting floats to nil and back (was failing in postgresql at some...
[clsql.git] / tests / test-oodml.lisp
index 06e246005487bb8bc1526988d774b7fb49f9b4b1..6ab648a03ac1c30ff2a3adc0ca57af96519295fb 100644 (file)
   "10 Altered subloc title Altered loc"
   "10 subloc-1 a subloc")
 
+;; Verify that we can set a float to nil and then read it back
+;; (was failing in Postgresql at somepoint)
+(deftest :oodml/update-records/10
+    (with-dataset *ds-employees*
+      (let ((emp (first (clsql:select 'employee :where [= [emplid] 1] :flatp T))))
+       (setf (height emp) nil)
+       (clsql-sys:update-record-from-slot emp 'height)
+       (values
+         (clsql:select [height] :from [employee] :where [= [emplid] 1])
+         (progn
+           (setf (height emp) 42.0)
+           (clsql-sys:update-record-from-slot emp 'height)
+           (clsql:select [height] :from [employee] :where [= [emplid] 1]))
+         (progn
+           (setf (height emp) 24.13d0)
+           (clsql-sys:update-record-from-slot emp 'height)
+           (clsql:select [height] :from [employee] :where [= [emplid] 1])))))
+  ((nil))
+  ((42.0d0))
+  ((24.13d0)))
+
 
 ;; tests update-instance-from-records
 (deftest :oodml/update-instance/1