X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest-fddl.lisp;h=c5c305b3828d3d4aa1ac694df734e8949fb5339a;hb=fdd069770e32d0cfa4b66d6e5cfd4540197660ba;hp=0ffe57e376db795686ba33e85fc1755a0ec03703;hpb=645d2ea7396466b8673e3421b55e45cd327f0195;p=clsql.git diff --git a/tests/test-fddl.lisp b/tests/test-fddl.lisp index 0ffe57e..c5c305b 100644 --- a/tests/test-fddl.lisp +++ b/tests/test-fddl.lisp @@ -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 @@ -118,6 +118,9 @@ (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 :char)) t) + t) ;; create a view, test for existence, drop it and test again @@ -210,7 +213,7 @@ (apply #'values result)) t t t) -;; test list-table-indexes +;; test list-indexes with keyword :ON (deftest :fddl/index/3 (progn (clsql:create-table [i3test] '(([a] (string 10)) @@ -226,7 +229,7 @@ (sort (mapcar #'string-downcase - (clsql:list-table-indexes [i3test] :owner *test-database-user*)) + (clsql:list-indexes :on [i3test] :owner *test-database-user*)) #'string-lessp) (progn (clsql:drop-index [bar] :on [i3test]) @@ -273,10 +276,16 @@ (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 (or (eq *test-database-type* :oracle) + (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)