X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-ooddl.lisp;h=7aec9817a03135f103a197e1a2b2420f472d4a58;hb=dfb6230f04c4c2129b89d1d421c01bbc3f9fd57f;hp=bd54611e95576fdc156ef86c1cd35e4578055b02;hpb=e567409d9fff3f7231c2a0bb69b345e19de2b246;p=clsql.git diff --git a/tests/test-ooddl.lisp b/tests/test-ooddl.lisp index bd54611..7aec981 100644 --- a/tests/test-ooddl.lisp +++ b/tests/test-ooddl.lisp @@ -42,10 +42,35 @@ (every #'(lambda (slotd) (typep slotd 'clsql-sys::view-class-effective-slot-definition)) (clsql-sys::class-slots (find-class 'employee))) + (every #'(lambda (slotd) + (typep slotd 'clsql-sys::view-class-effective-slot-definition)) + (clsql-sys::class-slots (find-class 'setting))) + (every #'(lambda (slotd) + (typep slotd 'clsql-sys::view-class-effective-slot-definition)) + (clsql-sys::class-slots (find-class 'theme))) + (every #'(lambda (slotd) + (typep slotd 'clsql-sys::view-class-effective-slot-definition)) + (clsql-sys::class-slots (find-class 'node))) (every #'(lambda (slotd) (typep slotd 'clsql-sys::view-class-effective-slot-definition)) (clsql-sys::class-slots (find-class 'company)))) - t t t) + t t t t t t) + +;; Ensure classes are correctly marked normalised or not, default not +;(deftest :ooddl/metaclass/3 +; (values +; (clsql-sys::normalisedp derivednode1) +; (clsql-sys::normalisedp basenode) +; (clsql-sys::normalisedp company1) +; (clsql-sys::normalisedp employee3) +; (clsql-sys::normalisedp derivednode-sc-2)) +; t nil nil nil t) + +;(deftest :ooddl/metaclass/3 +; (values +; (normalisedp (find-class 'baseclass)) +; (normalisedp (find-class 'normderivedclass))) +; nil t) (deftest :ooddl/join/1 (mapcar #'(lambda (e) (slot-value e 'ecompanyid)) @@ -60,6 +85,27 @@ (slot-value (employee-manager employee2) 'last-name) "Lenin") +(deftest :ooddl/big/1 + (let ((rows (clsql:select [*] :from [big] :order-by [i] :field-names nil))) + (values + (length rows) + (do ((i 0 (1+ i)) + (max (expt 2 60)) + (rest rows (cdr rest))) + ((= i (length rows)) t) + (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) + (deftest :ooddl/time/1 (let* ((now (clsql:get-time))) (when (member *test-database-underlying-type* '(:postgresql :postgresql-socket))