X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fexpressions.lisp;h=93c97d94d8731924210e6c761b482024c859592e;hp=5bce5d89c03e30d9b5118392b2d3f338aacd34e9;hb=1b07d2fd927cf8f1943ac0a0b8c980d1dc707076;hpb=7c7fe600ddcae6e798bdc025f558183569f1ae7e diff --git a/sql/expressions.lisp b/sql/expressions.lisp index 5bce5d8..93c97d9 100644 --- a/sql/expressions.lisp +++ b/sql/expressions.lisp @@ -22,7 +22,7 @@ (defvar *sql-stream* nil "stream which accumulates SQL output") -(defun sql-output (sql-expr &optional database) +(defun sql-output (sql-expr &optional (database *default-database*)) "Top-level call for generating SQL strings. Returns an SQL string appropriate for DATABASE which corresponds to the supplied lisp expression SQL-EXPR." @@ -390,7 +390,7 @@ (:documentation "An SQL between expression.")) (defmethod output-sql ((expr sql-between-exp) database) - (with-slots (name args) + (with-slots (args) expr (output-sql (first args) database) (write-string " BETWEEN " *sql-stream*) @@ -900,11 +900,10 @@ uninclusive, and the args from that keyword to the end." (defmethod database-output-sql ((tee (eql t)) database) (if database (let ((val (database-output-sql-as-type 'boolean t database (database-type database)))) - (if val - (typecase val - (string val) - (t (format nil "~A" val))) - "'Y'")) + (when val + (typecase val + (string (format nil "'~A'" val)) + (integer (format nil "~A" val))))) "'Y'")) #+nil(defmethod database-output-sql ((tee (eql t)) database)