X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-fddl.lisp;h=0ffe57e376db795686ba33e85fc1755a0ec03703;hb=645d2ea7396466b8673e3421b55e45cd327f0195;hp=ab3da3bdf44ba5f835993391014ea05ad1a12a6d;hpb=3a3ccc7a171dc4c6c10bc7e3fea8461fca6dc51b;p=clsql.git diff --git a/tests/test-fddl.lisp b/tests/test-fddl.lisp index ab3da3b..0ffe57e 100644 --- a/tests/test-fddl.lisp +++ b/tests/test-fddl.lisp @@ -24,11 +24,10 @@ ;; list current tables (deftest :fddl/table/1 - (apply #'values - (sort (mapcar #'string-downcase - (clsql:list-tables :owner *test-database-user*)) - #'string<)) - "addr" "company" "ea_join" "employee" "type_bigint" "type_table") + (sort (mapcar #'string-downcase + (clsql:list-tables :owner *test-database-user*)) + #'string<) + ("addr" "big" "company" "ea_join" "employee" "type_bigint" "type_table")) ;; create a table, test for its existence, drop it and test again (deftest :fddl/table/2 @@ -59,6 +58,27 @@ (clsql:drop-table [foo] :if-does-not-exist :ignore)))) "comments" "height" "id" "name") +(deftest :fddl/table/4 + (values + (clsql:table-exists-p "MyMixedCase") + (progn + (clsql:create-table "MyMixedCase" '(([a] integer))) + (clsql:table-exists-p "MyMixedCase")) + (progn + (clsql:drop-table "MyMixedCase") + (clsql:table-exists-p "MyMixedCase"))) + nil t nil) + +(deftest :fddl/table/5 + (prog1 + (progn + (clsql:create-table "MyMixedCase" '(([a] integer))) + (clsql:execute-command "insert into MyMixedCase values (5)") + (clsql:insert-records :into "MyMixedCase" :values '(6)) + (clsql:select [a] :from "MyMixedCase" :order-by '((a :asc)))) + (clsql:drop-table "MyMixedCase")) + ((5) (6))) + (deftest :fddl/attributes/1 (apply #'values (sort @@ -85,15 +105,17 @@ t) (deftest :fddl/attributes/4 - (clsql:attribute-type [first-name] [employee]) - :varchar 30 nil 1) + (multiple-value-bind (type length scale nullable) + (clsql:attribute-type [first-name] [employee]) + (values (clsql-sys:in type :varchar :varchar2) length scale nullable)) + t 30 nil 1) (deftest :fddl/attributes/5 - (and (member (clsql:attribute-type [birthday] [employee]) '(:datetime :timestamp)) t) + (and (member (clsql:attribute-type [birthday] [employee]) '(:datetime :timestamp :date)) t) t) (deftest :fddl/attributes/6 - (and (member (clsql:attribute-type [height] [employee]) '(:float :float8)) t) + (and (member (clsql:attribute-type [height] [employee]) '(:float :float8 :number)) t) t) @@ -243,6 +265,22 @@ (clsql:drop-sequence [foo] :if-does-not-exist :ignore))) 6) +(deftest :fddl/big/1 + (let ((rows (clsql:select [*] :from [big] :field-names nil))) + (values + (length rows) + (do ((i 0 (1+ i)) + (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))) + (return nil)))))) + 555 t) + + )) #.(clsql:restore-sql-reader-syntax-state)