From 415bbce6b3c3a4139aaceb8b7d164e462f91e4d5 Mon Sep 17 00:00:00 2001 From: Mike Blume Date: Tue, 3 Mar 2015 18:51:57 -0800 Subject: [PATCH] handle SqlParam explicitly --- src/honeysql/format.clj | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/honeysql/format.clj b/src/honeysql/format.clj index 058f164..527e383 100644 --- a/src/honeysql/format.clj +++ b/src/honeysql/format.clj @@ -245,6 +245,16 @@ (apply fn-handler fn-name (.args x))))) SqlRaw (-to-sql [x] (.s x)) + SqlParam + (-to-sql [x] (let [pname (param-name x) + x (if (map? @*input-params*) + (get @*input-params* pname) + (let [x (first @*input-params*)] + (swap! *input-params* rest) + x))] + (swap! *param-names* conj pname) + (swap! *params* conj x) + "?")) clojure.lang.IPersistentMap (-to-sql [x] (let [clause-ops (concat (filter #(contains? x %) clause-order) @@ -260,15 +270,8 @@ nil (-to-sql [x] "NULL") Object - (-to-sql [x] (let [[x pname] (if (instance? SqlParam x) - (let [pname (param-name x)] - (if (map? @*input-params*) - [(get @*input-params* pname) pname] - (let [x (first @*input-params*)] - (swap! *input-params* rest) - [x pname]))) - ;; Anonymous param name -- :_1, :_2, etc. - [x (keyword (str "_" (swap! *param-counter* inc)))])] + ;; Anonymous param name -- :_1, :_2, etc. + (-to-sql [x] (let [pname (keyword (str "_" (swap! *param-counter* inc)))] (swap! *param-names* conj pname) (swap! *params* conj x) "?")))