fix values clause to take multiple sets of values
This commit is contained in:
parent
6f2ef8f6c3
commit
806b9bafd6
3 changed files with 14 additions and 5 deletions
|
|
@ -44,7 +44,7 @@
|
||||||
:offset
|
:offset
|
||||||
:modifiers, :merge-modifiers
|
:modifiers, :merge-modifiers
|
||||||
:insert-into
|
:insert-into
|
||||||
:values
|
:values, :merge-values
|
||||||
:update
|
:update
|
||||||
:set
|
:set
|
||||||
:delete-from"
|
:delete-from"
|
||||||
|
|
|
||||||
|
|
@ -334,11 +334,13 @@
|
||||||
(str "INSERT INTO " (to-sql table)))
|
(str "INSERT INTO " (to-sql table)))
|
||||||
|
|
||||||
(defmethod format-clause :values [[_ values] _]
|
(defmethod format-clause :values [[_ values] _]
|
||||||
(if (sequential? values)
|
(if (sequential? (first values))
|
||||||
(str "VALUES (" (comma-join (map to-sql values)) ")")
|
(str "VALUES " (comma-join (for [x values]
|
||||||
|
(str "(" (comma-join (map to-sql x)) ")"))))
|
||||||
(str
|
(str
|
||||||
"(" (comma-join (map to-sql (keys values))) ") VALUES ("
|
"(" (comma-join (map to-sql (keys (first values)))) ") VALUES "
|
||||||
(comma-join (map to-sql (vals values))) ")")))
|
(comma-join (for [x values]
|
||||||
|
(str "(" (comma-join (map to-sql (vals x))) ")"))))))
|
||||||
|
|
||||||
(defmethod format-clause :update [[_ table] _]
|
(defmethod format-clause :update [[_ table] _]
|
||||||
(str "UPDATE " (to-sql table)))
|
(str "UPDATE " (to-sql table)))
|
||||||
|
|
|
||||||
|
|
@ -168,6 +168,13 @@
|
||||||
([vs] (values nil vs))
|
([vs] (values nil vs))
|
||||||
([m vs] (build-clause :values m vs)))
|
([m vs] (build-clause :values m vs)))
|
||||||
|
|
||||||
|
(defmethod build-clause :merge-values [_ m values]
|
||||||
|
(update-in m [:values] concat values))
|
||||||
|
|
||||||
|
(defn merge-values
|
||||||
|
([vs] (merge-values nil vs))
|
||||||
|
([m vs] (build-clause :merge-values m vs)))
|
||||||
|
|
||||||
(defmethod build-clause :update [_ m table]
|
(defmethod build-clause :update [_ m table]
|
||||||
(assoc m :update table))
|
(assoc m :update table))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue