r9490: fix for odbc/postgresql bigint strings
[clsql.git] / tests / test-fddl.lisp
index 0ffe57e376db795686ba33e85fc1755a0ec03703..3c69653edc6be24b194f592c0e26faff002904fb 100644 (file)
@@ -86,7 +86,7 @@
                     (clsql:list-attributes [employee]
                                           :owner *test-database-user*))
             #'string<))
-  "birthday" "ecompanyid" "email" "emplid" "first_name" "groupid" "height"
+  "bd_utime" "birthday" "ecompanyid" "email" "emplid" "first_name" "groupid" "height"
   "last_name" "managerid" "married")
 
 (deftest :fddl/attributes/2
@@ -96,7 +96,7 @@
                     (clsql:list-attribute-types [employee]
                                                :owner *test-database-user*))
             #'string<))
-  "birthday" "ecompanyid" "email" "emplid" "first_name" "groupid" "height"
+  "bd_utime" "birthday" "ecompanyid" "email" "emplid" "first_name" "groupid" "height"
   "last_name" "managerid" "married")
 
 ;; Attribute types are vendor specific so need to test a range
     (and (member (clsql:attribute-type [height] [employee]) '(:float :float8 :number)) t)
   t)
 
+(deftest :fddl/attributes/7
+    (and (member (clsql:attribute-type [bd_utime] [employee]) '(:bigint :int8 :number)) t)
+  t)
 
 
 ;; create a view, test for existence, drop it and test again
            (max (expt 2 60))
            (rest rows (cdr rest)))
           ((= i (length rows)) t)
-        (let ((row (car rest))
-              (index (1+ i)))
-          (unless (and (eql (first row) index)
-                       (eql (second row) (truncate max index)))
+        (let ((index (1+ i))
+              (int (first (car rest)))
+              (bigint (second (car rest))))
+          (when (and (eq *test-database-type* :odbc)
+                     (eq *test-database-underlying-type* :postgresql)
+                     (stringp bigint))
+            (setf bigint (parse-integer bigint)))
+          (unless (and (eql int index)
+                       (eql bigint (truncate max index)))
             (return nil))))))
   555 t)