X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Foodml.lisp;h=142e51631d1f246eb19f8abb1a449d24ec0bd247;hp=c98342ed55ddf3ce220ec7c5d9ddf86ad3c8ff4d;hb=4953933acb0e3349254ddfe6b1af6cc903cb5ce3;hpb=24a4186aa531c3e56953413119e2308bb7c50b6b diff --git a/sql/oodml.lisp b/sql/oodml.lisp index c98342e..142e516 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) @@ -984,6 +992,10 @@ maximum of MAX-LEN instances updated in each query." (defmethod instance-refreshed ((instance standard-db-object))) +(defvar *default-caching* t + "Controls whether SELECT caches objects by default. The CommonSQL +specification states caching is on by default.") + (defun select (&rest select-all-args) "Executes a query on DATABASE, which has a default value of *DEFAULT-DATABASE*, specified by the SQL expressions supplied @@ -1042,7 +1054,7 @@ as elements of a list." (cond ((select-objects target-args) - (let ((caching (getf qualifier-args :caching t)) + (let ((caching (getf qualifier-args :caching *default-caching*)) (result-types (getf qualifier-args :result-types :auto)) (refresh (getf qualifier-args :refresh nil)) (database (or (getf qualifier-args :database) *default-database*))