Refactored find-all and build-object to be more readable, shorter and
[clsql.git] / sql / expressions.lisp
index 29363afbdbdda080c79ecacad004f26cb1a87d33..8b6167ba2c71f22ba288835e0699a04f554d9431 100644 (file)
   (declare (ignore sql))
   nil)
 
+(defmethod collect-table-refs ((sql list))
+  (loop for i in sql
+        appending (listify (collect-table-refs i))))
+
 (defmethod collect-table-refs ((sql sql-ident-attribute))
   (let ((qual (slot-value sql 'qualifier)))
     (when qual
     sql
     `(make-instance 'sql-ident-table :name ',name :table-alias ',alias)))
 
+(defmethod collect-table-refs ((sql sql-ident-table))
+  (list sql))
+
 (defmethod output-sql ((expr sql-ident-table) database)
   (with-slots (name alias) expr
     (flet ((p (s) ;; the etypecase is in sql-escape too