From 1c5a0359f7b048ad01a25607661229e13b5a6be7 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Tue, 14 May 2013 12:31:50 +1000 Subject: Apparently I got the jdbc query syntax wrong. Corrected. The parameters should be passed in the `rest` of the vector, not as a separate seq. My bad. --- src/clojure_sql/core.clj | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/clojure_sql/core.clj') diff --git a/src/clojure_sql/core.clj b/src/clojure_sql/core.clj index 319d281..e1dfb90 100644 --- a/src/clojure_sql/core.clj +++ b/src/clojure_sql/core.clj @@ -28,16 +28,18 @@ (def is-unary? (comp boolean '#{not})) (def is-predicate? (comp boolean '#{= < > <= >= is in})) -(defn c-return [val] [val nil]) +(defn c-return [val] [val]) (defn c-lift [f & orig-args] (fn [& c-args] - [(apply f (concat orig-args - (map first c-args))) - (apply concat (map second c-args))])) + (apply vector + (apply f (concat orig-args + (map first c-args))) + (apply concat (map rest c-args))))) (def c-str (c-lift str)) (def c-join (fn [sep args] - [(string/join sep (map first args)) - (apply concat (map second args))])) + (apply vector + (string/join sep (map first args)) + (apply concat (map rest args))))) (def c-add-parentheses (c-lift add-parentheses)) (defmulti compile-expression (fn [db _] db)) @@ -46,7 +48,7 @@ nil? (c-return "NULL") vector? (c-return (str (table-name db (first ex)) \. (field-name db (second ex)))) keyword? (c-return (field-name db ex)) - string? ["?" [ex]] ;;(sql-string db ex) + string? ["?" ex] ;;(sql-string db ex) symbol? (c-return (string/upper-case (name ex))) sequential? (-> (if (= (count ex) 2) (->> ex -- cgit v1.2.3