added (*in-subselect* t) bindings around rendering out update/insert values
[clsql.git] / sql / expressions.lisp
index 1479e67afa80d2edba6e5f4dc8d3bf339599640d..7071227a4b0964c1be2a6ec971fd30cdbec59c67 100644 (file)
@@ -813,7 +813,8 @@ uninclusive, and the args from that keyword to the end."
       (output-sql attributes database))
     (when values
       (write-string " VALUES " *sql-stream*)
-      (output-sql values database))
+      (let ((clsql-sys::*in-subselect* t))
+        (output-sql values database)))
     (when query
       (write-char #\Space *sql-stream*)
       (output-sql query database)))
@@ -870,7 +871,8 @@ uninclusive, and the args from that keyword to the end."
       (write-string "UPDATE " *sql-stream*)
       (output-sql table database)
       (write-string " SET " *sql-stream*)
-      (output-sql (apply #'vector (update-assignments)) database)
+      (let ((clsql-sys::*in-subselect* t))
+        (output-sql (apply #'vector (update-assignments)) database))
       (output-sql-where-clause where database)))
   t)