X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fexpressions.lisp;h=8b6167ba2c71f22ba288835e0699a04f554d9431;hp=29363afbdbdda080c79ecacad004f26cb1a87d33;hb=b50166ae0ba2bc09a9094c0e675ec92010b7293e;hpb=566670ff665e99a1774e0899a02ecde2d62b99cc diff --git a/sql/expressions.lisp b/sql/expressions.lisp index 29363af..8b6167b 100644 --- a/sql/expressions.lisp +++ b/sql/expressions.lisp @@ -249,6 +249,10 @@ (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 @@ -286,6 +290,9 @@ 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