X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fclasses.lisp;h=7098ca2c81eafb294522578b648d896f0f20782f;hb=a4097e19c5157e87b9991549bc44f3ef598aeb90;hp=a2ca8577727d6ac81a996514b935a30cb4b09639;hpb=8071212edc91e628c70a628515ae893bfd85f2e3;p=clsql.git diff --git a/sql/classes.lisp b/sql/classes.lisp index a2ca857..7098ca2 100644 --- a/sql/classes.lisp +++ b/sql/classes.lisp @@ -22,14 +22,6 @@ (defvar *sql-stream* nil "stream which accumulates SQL output") -(defvar *default-schema* "UNCOMMONSQL") - -(defvar *object-schemas* (make-hash-table :test #'equal) - "Hash of schema name to class constituent lists.") - -(defun in-schema (schemaname) - (setf *default-schema* schemaname)) - (defun sql-output (sql-expr &optional database) (progv '(*sql-stream*) `(,(make-string-output-stream)) @@ -652,13 +644,14 @@ uninclusive, and the args from that keyword to the end." (defmethod output-sql ((stmt sql-create-table) &optional (database *default-database*)) (flet ((output-column (column-spec) - (destructuring-bind (name type &rest constraints) + (destructuring-bind (name type &optional db-type &rest constraints) column-spec (let ((type (listify type))) (output-sql name database) (write-char #\Space *sql-stream*) (write-string - (database-get-type-specifier (car type) (cdr type) database) + (if (stringp db-type) db-type ; override definition + (database-get-type-specifier (car type) (cdr type) database)) *sql-stream*) (let ((constraints (database-constraint-statement constraints database)))