((extraterrestrial :initform nil :initarg :extraterrestrial)))
(def-view-class person (thing)
- ((height :db-kind :base :accessor height :type float :nulls-ok t
+ ((height :db-kind :base :accessor height :type float
:initarg :height)
- (married :db-kind :base :accessor married :type boolean :nulls-ok t
+ (married :db-kind :base :accessor married :type boolean
:initarg :married)
- (birthday :nulls-ok t :type clsql-base:wall-time :initarg :birthday)
+ (birthday :type clsql-base:wall-time :initarg :birthday)
(hobby :db-kind :virtual :initarg :hobby :initform nil)))
(def-view-class employee (person)
((emplid
:db-kind :key
:db-constraints :not-null
- :nulls-ok nil
:type integer
:initarg :emplid)
(groupid
:db-kind :key
:db-constraints :not-null
- :nulls-ok nil
:type integer
:initarg :groupid)
(first-name
(email
:accessor employee-email
:type (string 100)
- :nulls-ok t
:initarg :email)
(companyid
:type integer)
:foreign-key companyid
:set nil))
(managerid
- :type integer
- :nulls-ok t)
+ :type integer)
(manager
:accessor employee-manager
:db-kind :join
(def-view-class company ()
((companyid
- :db-type :key
+ :db-kind :key
:db-constraints :not-null
:type integer
:initarg :companyid)
(groupid
- :db-type :key
+ :db-kind :key
:db-constraints :not-null
:type integer
:initarg :groupid)
(defun load-necessary-systems (specs)
(dolist (db-type +all-db-types+)
(when (db-type-spec db-type specs)
- (db-type-ensure-system db-type))))
+ (clsql:initialize-database-type :database-type db-type))))
(defun do-tests-for-backend (db-type spec)
(test-connect-to-database db-type spec)
(defun compute-tests-for-backend (db-type db-underlying-type)
(let ((test-forms '())
(skip-tests '()))
- (dolist (test-form (append
- (if (eq db-type :sqlite)
- (test-basic-forms-untyped)
- (test-basic-forms))
- *rt-connection* *rt-fddl* *rt-fdml*
- *rt-ooddl* *rt-oodml* *rt-syntax*))
+ (dolist (test-form (append (test-basic-forms)
+ *rt-connection* *rt-fddl* *rt-fdml*
+ *rt-ooddl* *rt-oodml* *rt-syntax*))
(let ((test (second test-form)))
(cond
((and (null (db-type-has-views? db-underlying-type))
- (clsql-base-sys::in test :fddl/view/1 :fddl/view/2 :fddl/view/3 :fddl/view/4))
+ (clsql-base::in test :fddl/view/1 :fddl/view/2 :fddl/view/3 :fddl/view/4))
(push (cons test "views not supported") skip-tests))
((and (null (db-type-has-boolean-where? db-underlying-type))
- (clsql-base-sys::in test :fdml/select/11 :oodml/select/5))
+ (clsql-base::in test :fdml/select/11 :oodml/select/5))
(push (cons test "boolean where not supported") skip-tests))
((and (null (db-type-has-subqueries? db-underlying-type))
- (clsql-base-sys::in test :fdml/select/5 :fdml/select/10))
+ (clsql-base::in test :fdml/select/5 :fdml/select/10))
(push (cons test "subqueries not supported") skip-tests))
((and (null (db-type-transaction-capable? db-underlying-type
*default-database*))
- (clsql-base-sys::in test :fdml/transaction/1 :fdml/transaction/2 :fdml/transaction/3 :fdml/transaction/4))
+ (clsql-base::in test :fdml/transaction/1 :fdml/transaction/2 :fdml/transaction/3 :fdml/transaction/4))
(push (cons test "transactions not supported") skip-tests))
((and (null (db-type-has-fancy-math? db-underlying-type))
- (clsql-base-sys::in test :fdml/select/1))
+ (clsql-base::in test :fdml/select/1))
(push (cons test "fancy math not supported") skip-tests))
((and (eql *test-database-type* :sqlite)
- (clsql-base-sys::in test :fddl/view/4 :fdml/select/10))
+ (clsql-base::in test :fddl/view/4 :fdml/select/10))
(push (cons test "not supported by sqlite") skip-tests))
(t
(push test-form test-forms)))))