X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Foodml.lisp;h=9d8154f44b6a0c6ea72c8c013d825884351f92dd;hp=77617e7932a23f0cf0fc9daf9d3247e2d0168c31;hb=6ae958418dd080abc577c24b5e66af9783441b3f;hpb=2961f4f122593e9d4875e88e6af159de28c8dd47 diff --git a/sql/oodml.lisp b/sql/oodml.lisp index 77617e7..9d8154f 100644 --- a/sql/oodml.lisp +++ b/sql/oodml.lisp @@ -327,13 +327,21 @@ "INT") (deftype smallint () - "An integer smaller than a 32-bit integer, this width may vary by SQL implementation." + "An integer smaller than a 32-bit integer. this width may vary by SQL implementation." 'integer) (defmethod database-get-type-specifier ((type (eql 'smallint)) args database db-type) (declare (ignore args database db-type)) "INT") +(deftype mediumint () + "An integer smaller than a 32-bit integer, but may be larger than a smallint. This width may vary by SQL implementation." + 'integer) + +(defmethod database-get-type-specifier ((type (eql 'mediumint)) args database db-type) + (declare (ignore args database db-type)) + "INT") + (deftype bigint () "An integer larger than a 32-bit integer, this width may vary by SQL implementation." 'integer) @@ -743,7 +751,8 @@ maximum of MAX-LEN instances updated in each query." (jc (gethash :join-class dbi))) (let ((jq (join-qualifier class object slot-def))) (when jq - (select jc :where jq :flatp t :result-types nil))))) + (select jc :where jq :flatp t :result-types nil + :database (view-database object)))))) (defun fault-join-slot (class object slot-def) (let* ((dbi (view-class-slot-db-info slot-def)) @@ -1140,7 +1149,8 @@ as elements of a list." (unless (record-caches database) (setf (record-caches database) (make-hash-table :test 'equal - #+allegro :values #+allegro :weak + #+allegro :values #+allegro :weak + #+clisp :weak #+clisp :value #+lispworks :weak-kind #+lispworks :value))) (setf (gethash (compute-records-cache-key targets qualifiers) (record-caches database)) results)