r9482: * doc/TODO: Add AUTOCOMMIT. Remove need for large table and bigint
[clsql.git] / tests / test-init.lisp
index 981046e51f0d59b48efdd13c98ef09c3abed54ad..415af2a2b81a3c5f9b562de889f47c20a21411e5 100644 (file)
     :initarg :groupid)
    (first-name
     :accessor first-name
-    :type (string 30)
+    :type (varchar 30)
     :initarg :first-name)
    (last-name
     :accessor last-name
-    :type (string 30)
+    :type (varchar 30)
     :initarg :last-name)
    (email
     :accessor employee-email
-    :type (string 100)
+    :type (varchar 100)
     :initarg :email)
    (ecompanyid
     :type integer
     :type integer
     :initarg :groupid)
    (name
-    :type (string 100)
+    :type (varchar 100)
     :initarg :name)
    (presidentid
     :type integer
     :type integer
     :initarg :street-number)
    (street-name
-    :type (string 30)
+    :type (varchar 30)
     :void-value ""
     :initarg :street-name)
    (city
     :column "city_field"
     :void-value "no city"
-    :type (string 30)
+    :type (varchar 30)
     :initarg :city)
    (postal-code
     :column zip
                                  :set nil)))
   (:base-table "ea_join"))
 
+(def-view-class big ()
+  ((i :type integer :initarg :i)
+   (bi :type bigint :initarg :bi)))
+
 (defun test-connect-to-database (db-type spec)
   (when (clsql-sys:db-backend-has-create/destroy-db? db-type)
     (ignore-errors (destroy-database spec :database-type db-type))
     (clsql:create-view-from-class 'employee)
     (clsql:create-view-from-class 'company)
     (clsql:create-view-from-class 'address)
-    (clsql:create-view-from-class 'employee-address))
+    (clsql:create-view-from-class 'employee-address)
+    (clsql:create-view-from-class 'big))
 
   (let ((*db-auto-sync* t))
     (setf company1 (make-instance 'company
                                           :verified nil)
          employee-address5 (make-instance 'employee-address
                                           :emplid 3
-                                          :addressid 2)
-         ))
+                                          :addressid 2))
+
+    (let ((max (expt 2 60)))
+      (dotimes (i 555)
+       (make-instance 'big :i (1+ i) :bi (truncate max (1+ i))))))
     
   ;; sleep to ensure birthdays are no longer at current time
   (sleep 1) 
          ((and (null (clsql-sys:db-type-has-union? db-underlying-type))
                (clsql-sys:in test :fdml/query/6 :fdml/select/31))
           (push (cons test "union not supported") skip-tests))
+         ((and (eq *test-database-type* :oracle)
+               (clsql-sys:in test :fdml/query/8 :fdml/select/21))
+          (push (cons test "syntax not supported") skip-tests))
          (t
           (push test-form test-forms)))))
       (values (nreverse test-forms) (nreverse skip-tests))))