(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."
(: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*)
database))))
(defmethod database-output-sql ((tee (eql t)) database)
+ (if database
+ (let ((val (database-output-sql-as-type 'boolean t database (database-type database))))
+ (when val
+ (typecase val
+ (string (format nil "'~A'" val))
+ (integer (format nil "~A" val)))))
+ "'Y'"))
+
+#+nil(defmethod database-output-sql ((tee (eql t)) database)
(declare (ignore database))
"'Y'")