Fix where merging; fix single-arg helpers
This commit is contained in:
parent
d04d9f600a
commit
9da83b5e1b
1 changed files with 13 additions and 12 deletions
|
|
@ -10,13 +10,14 @@
|
||||||
|
|
||||||
(defn- and-merge
|
(defn- and-merge
|
||||||
[current args]
|
[current args]
|
||||||
(let [merged (default-merge current args)]
|
(cond (= :and (first current))
|
||||||
(cond (= 1 (count merged))
|
(default-merge current args)
|
||||||
(vec (first merged))
|
(seq current)
|
||||||
(= :and (first merged))
|
(default-merge [:and current] args)
|
||||||
merged
|
(= 1 (count args))
|
||||||
:else
|
(vec (first args))
|
||||||
(into [:and] merged))))
|
:else
|
||||||
|
(default-merge [:and] args)))
|
||||||
|
|
||||||
(def ^:private special-merges
|
(def ^:private special-merges
|
||||||
{:where #'and-merge
|
{:where #'and-merge
|
||||||
|
|
@ -33,7 +34,7 @@
|
||||||
(helper-merge {} k args)))
|
(helper-merge {} k args)))
|
||||||
|
|
||||||
(defn- generic-1 [k [data arg]]
|
(defn- generic-1 [k [data arg]]
|
||||||
(if (map? data)
|
(if arg
|
||||||
(assoc data k arg)
|
(assoc data k arg)
|
||||||
(assoc {} k data)))
|
(assoc {} k data)))
|
||||||
|
|
||||||
|
|
@ -49,12 +50,12 @@
|
||||||
(defn select-distinct [& args] (generic :select-distinct args))
|
(defn select-distinct [& args] (generic :select-distinct args))
|
||||||
(defn insert-into [& args] (generic :insert-into args))
|
(defn insert-into [& args] (generic :insert-into args))
|
||||||
(defn update [& args] (generic :update args))
|
(defn update [& args] (generic :update args))
|
||||||
(defn delete [& args] (generic :delete args))
|
(defn delete [& args] (generic-1 :delete args))
|
||||||
(defn delete-from [& args] (generic :delete-from args))
|
(defn delete-from [& args] (generic :delete-from args))
|
||||||
(defn truncate [& args] (generic :truncate args))
|
(defn truncate [& args] (generic :truncate args))
|
||||||
(defn columns [& args] (generic :columns args))
|
(defn columns [& args] (generic :columns args))
|
||||||
(defn composite [& args] (generic :composite args))
|
(defn composite [& args] (generic :composite args))
|
||||||
(defn set [& args] (generic :set args))
|
(defn set [& args] (generic-1 :set args))
|
||||||
(defn from [& args] (generic :from args))
|
(defn from [& args] (generic :from args))
|
||||||
(defn join [& args] (generic :join args))
|
(defn join [& args] (generic :join args))
|
||||||
(defn left-join [& args] (generic :left-join args))
|
(defn left-join [& args] (generic :left-join args))
|
||||||
|
|
@ -69,8 +70,8 @@
|
||||||
(defn order-by [& args] (generic :order-by args))
|
(defn order-by [& args] (generic :order-by args))
|
||||||
(defn limit [& args] (generic-1 :limit args))
|
(defn limit [& args] (generic-1 :limit args))
|
||||||
(defn offset [& args] (generic-1 :offset args))
|
(defn offset [& args] (generic-1 :offset args))
|
||||||
(defn for [& args] (generic :for args))
|
(defn for [& args] (generic-1 :for args))
|
||||||
(defn values [& args] (generic :values args))
|
(defn values [& args] (generic-1 :values args))
|
||||||
(defn on-conflict [& args] (generic :on-conflict args))
|
(defn on-conflict [& args] (generic :on-conflict args))
|
||||||
(defn on-constraint [& args] (generic :on-constraint args))
|
(defn on-constraint [& args] (generic :on-constraint args))
|
||||||
(defn do-nothing [& args] (generic :do-nothing args))
|
(defn do-nothing [& args] (generic :do-nothing args))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue