add pname to *param-names* once per value

keep *params* and *param-names* at the same count
This commit is contained in:
Mike Blume 2015-05-08 14:20:24 -07:00
parent 4bdaae39af
commit 6b64743315

View file

@ -249,23 +249,23 @@
[sql-str])))) [sql-str]))))
(defprotocol Parameterizable (defprotocol Parameterizable
(to-params [value])) (to-params [value pname]))
(extend-protocol Parameterizable (extend-protocol Parameterizable
clojure.lang.Sequential clojure.lang.Sequential
(to-params [value] (to-params [value pname]
(paren-wrap (comma-join (mapv to-params value)))) (paren-wrap (comma-join (mapv #(to-params % pname) value))))
clojure.lang.IPersistentSet clojure.lang.IPersistentSet
(to-params [value] (to-params [value pname]
(to-params (seq value))) (to-params (seq value) pname))
java.lang.Object java.lang.Object
(to-params [value] (to-params [value pname]
(swap! *params* conj value) (swap! *params* conj value)
(swap! *param-names* conj pname)
(*parameterizer*))) (*parameterizer*)))
(defn add-param [pname pval] (defn add-param [pname pval]
(swap! *param-names* conj pname) (to-params pval pname))
(to-params pval))
;; Anonymous param name -- :_1, :_2, etc. ;; Anonymous param name -- :_1, :_2, etc.
(defn add-anon-param [pval] (defn add-anon-param [pval]