Whoops, realized I had misunderstood intended format for insert-into's values helper. Reverts patch, updates README to suit.

This commit is contained in:
Dave Della Costa 2014-03-08 17:21:56 +09:00
parent 73caa251b8
commit ab991b2dd8
2 changed files with 10 additions and 9 deletions

View file

@ -366,15 +366,13 @@
(str "(" (comma-join (map to-sql fields)) ")")) (str "(" (comma-join (map to-sql fields)) ")"))
(defmethod format-clause :values [[_ values] _] (defmethod format-clause :values [[_ values] _]
(if (map? values) (if (sequential? (first values))
(str "VALUES " (comma-join (for [x values]
(str "(" (comma-join (map to-sql x)) ")"))))
(str (str
"(" (comma-join (map to-sql (keys values))) ") " "(" (comma-join (map to-sql (keys (first values)))) ") VALUES "
"VALUES " (comma-join (for [x values]
(str "(" (comma-join (map to-sql (vals values))) ")")) (str "(" (comma-join (map to-sql (vals x))) ")"))))))
(->> values
(reduce #(conj %1 (str "(" (comma-join (map to-sql %2)) ")")) [])
comma-join
(str "VALUES "))))
(defmethod format-clause :query-values [[_ query-values] _] (defmethod format-clause :query-values [[_ query-values] _]
(to-sql query-values)) (to-sql query-values))

View file

@ -60,5 +60,8 @@
(is (= ["VALUES (?, ?), (?, ?)" "foo1" "bar1" "foo2" "bar2"] (is (= ["VALUES (?, ?), (?, ?)" "foo1" "bar1" "foo2" "bar2"]
(sql/format (values [["foo1" "bar1"] ["foo2" "bar2"]])))) (sql/format (values [["foo1" "bar1"] ["foo2" "bar2"]]))))
(is (= ["(foo, bar) VALUES (1, ?)" "bar"]
(sql/format (values [{:foo 1 :bar "bar"}]))))
(is (= ["(foo, bar) VALUES (?, ?)" "foo" "bar"] (is (= ["(foo, bar) VALUES (?, ?)" "foo" "bar"]
(sql/format (values {:foo "foo" :bar "bar"}))))) (sql/format (values [{:foo "foo" :bar "bar"}])))))