diff --git a/src/honey/sql.cljc b/src/honey/sql.cljc index 5c7e1fb..5300203 100644 --- a/src/honey/sql.cljc +++ b/src/honey/sql.cljc @@ -889,11 +889,10 @@ {:clause x}))) [sqls expr-params] (when (seq exprs) - (format-expr-list exprs)) + (format-expr-list (map (fn [e] (if (sequential? e) [:nest e] e)) exprs))) [sql & clause-params] (when clause (format-dsl clause))] - (-> [(str (sql-kw k) (when (pos? n) (str " (" (str/join ", " sqls) ")")) diff --git a/test/honey/sql_test.cljc b/test/honey/sql_test.cljc index e86fef1..8df5d28 100644 --- a/test/honey/sql_test.cljc +++ b/test/honey/sql_test.cljc @@ -772,13 +772,13 @@ DO NOTHING INSERT INTO customers (name, email) VALUES ('Microsoft', 'hotline@microsoft.com') -ON CONFLICT (name, TRIM(email)) +ON CONFLICT ((foo + ?), name, (TRIM(email))) DO NOTHING -"] +" 1] (format {:insert-into :customers :columns [:name :email] :values [[[:inline "Microsoft"], [:inline "hotline@microsoft.com"]]] - :on-conflict [:name [:trim :email]] + :on-conflict [[:+ :foo 1] :name [:trim :email]] :do-nothing true} {:pretty true}))) (is (= ["