Fixes #289 by implementing USING
This commit is contained in:
parent
d5b11e2da6
commit
d2968bbfcc
3 changed files with 12 additions and 1 deletions
|
|
@ -18,7 +18,7 @@
|
||||||
"The (default) order for known clauses. Can have items added and removed."
|
"The (default) order for known clauses. Can have items added and removed."
|
||||||
[:nest :with :with-recursive :intersect :union :union-all :except :except-all
|
[:nest :with :with-recursive :intersect :union :union-all :except :except-all
|
||||||
:select :select-distinct :insert-into :update :delete :delete-from :truncate
|
:select :select-distinct :insert-into :update :delete :delete-from :truncate
|
||||||
:columns :set :from
|
:columns :set :from :using
|
||||||
:join :left-join :right-join :inner-join :outer-join :full-join
|
:join :left-join :right-join :inner-join :outer-join :full-join
|
||||||
:cross-join
|
:cross-join
|
||||||
:where :group-by :having :order-by :limit :offset :for :values
|
:where :group-by :having :order-by :limit :offset :for :values
|
||||||
|
|
@ -401,6 +401,7 @@
|
||||||
:columns #'format-columns
|
:columns #'format-columns
|
||||||
:set #'format-set-exprs
|
:set #'format-set-exprs
|
||||||
:from #'format-selects
|
:from #'format-selects
|
||||||
|
:using #'format-selects
|
||||||
:join #'format-join
|
:join #'format-join
|
||||||
:left-join #'format-join
|
:left-join #'format-join
|
||||||
:right-join #'format-join
|
:right-join #'format-join
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@
|
||||||
(defn columns [& args] (generic :columns args))
|
(defn columns [& args] (generic :columns args))
|
||||||
(defn set [& args] (generic-1 :set args))
|
(defn set [& args] (generic-1 :set args))
|
||||||
(defn from [& args] (generic :from args))
|
(defn from [& args] (generic :from args))
|
||||||
|
(defn using [& args] (generic :using 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))
|
||||||
(defn right-join [& args] (generic :right-join args))
|
(defn right-join [& args] (generic :right-join args))
|
||||||
|
|
|
||||||
|
|
@ -354,6 +354,15 @@
|
||||||
:where [:= :t1.bar 42]}
|
:where [:= :t1.bar 42]}
|
||||||
(format {:dialect :mysql})))))
|
(format {:dialect :mysql})))))
|
||||||
|
|
||||||
|
(deftest delete-using
|
||||||
|
(is (= ["DELETE FROM films USING producers WHERE (producer_id = producers.id) AND (producers.name = ?)" "foo"]
|
||||||
|
(-> {:delete-from :films
|
||||||
|
:using [:producers]
|
||||||
|
:where [:and
|
||||||
|
[:= :producer_id :producers.id]
|
||||||
|
[:= :producers.name "foo"]]}
|
||||||
|
(format)))))
|
||||||
|
|
||||||
(deftest truncate-test
|
(deftest truncate-test
|
||||||
(is (= ["TRUNCATE `foo`"]
|
(is (= ["TRUNCATE `foo`"]
|
||||||
(-> {:truncate :foo}
|
(-> {:truncate :foo}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue