`(make-instance 'sql-ident-table :name ',name :table-alias ',alias)))
(defmethod output-sql ((expr sql-ident-table) database)
- (with-slots (name alias)
- expr
- (if (null alias)
- (write-string (sql-escape (convert-to-db-default-case (symbol-name name) database)) *sql-stream*)
- (progn
- (write-string (sql-escape (convert-to-db-default-case (symbol-name name) database)) *sql-stream*)
- (write-char #\Space *sql-stream*)
- (format *sql-stream* "~s" alias))))
+ (with-slots (name alias) expr
+ (let ((namestr (if (symbolp name)
+ (symbol-name name)
+ name)))
+ (if (null alias)
+ (write-string
+ (sql-escape (convert-to-db-default-case namestr database))
+ *sql-stream*)
+ (progn
+ (write-string
+ (sql-escape (convert-to-db-default-case namestr database))
+ *sql-stream*)
+ (write-char #\Space *sql-stream*)
+ (format *sql-stream* "~s" alias)))))
t)
(defmethod output-sql-hash-key ((expr sql-ident-table) database)
:initform nil))
(:documentation "An SQL relational expression."))
+(defmethod make-load-form ((self sql-relational-exp) &optional environment)
+ (make-load-form-saving-slots self
+ :slot-names '(operator sub-expressions)
+ :environment environment))
+
(defmethod collect-table-refs ((sql sql-relational-exp))
(let ((tabs nil))
(dolist (exp (slot-value sql 'sub-expressions))
(declare (ignore database))
(db-timestring self))
+(defmethod database-output-sql ((self date) database)
+ (declare (ignore database))
+ (db-datestring self))
+
(defmethod database-output-sql ((self duration) database)
(declare (ignore database))
(format nil "'~a'" (duration-timestring self)))