Add NOT operator, improve NULL support
This commit is contained in:
parent
804305d3c5
commit
ad49c4e386
1 changed files with 8 additions and 1 deletions
|
|
@ -480,7 +480,11 @@
|
||||||
:interval
|
:interval
|
||||||
(fn [[n units]]
|
(fn [[n units]]
|
||||||
(let [[sql & params] (format-expr n)]
|
(let [[sql & params] (format-expr n)]
|
||||||
(into [(str "INTERVAL " sql " " (sql-kw units))] params)))})
|
(into [(str "INTERVAL " sql " " (sql-kw units))] params)))
|
||||||
|
:not
|
||||||
|
(fn [[x]]
|
||||||
|
(let [[sql & params] (format-expr x)]
|
||||||
|
(into [(str "NOT " sql)] params)))})
|
||||||
|
|
||||||
(defn format-expr [x & [{:keys [nested?] :as opts}]]
|
(defn format-expr [x & [{:keys [nested?] :as opts}]]
|
||||||
(cond (or (keyword? x) (symbol? x))
|
(cond (or (keyword? x) (symbol? x))
|
||||||
|
|
@ -551,6 +555,9 @@
|
||||||
(or (true? x) (false? x)) ; because (boolean? x) requires Clojure 1.9+
|
(or (true? x) (false? x)) ; because (boolean? x) requires Clojure 1.9+
|
||||||
[(upper-case (str x))]
|
[(upper-case (str x))]
|
||||||
|
|
||||||
|
(nil? x)
|
||||||
|
["NULL"]
|
||||||
|
|
||||||
:else
|
:else
|
||||||
["?" x]))
|
["?" x]))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue