addresses #366 -- needs documentation!
This commit is contained in:
parent
6aee04e25c
commit
3cacec9c32
2 changed files with 13 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
* 2.0.next in progress
|
* 2.0.next in progress
|
||||||
* Fix #367 by supporting parameters in subexpressions around `IS NULL` / `IS NOT NULL` tests.
|
* Fix #367 by supporting parameters in subexpressions around `IS NULL` / `IS NOT NULL` tests.
|
||||||
|
* Address #366 by introducing `:values-default-columns` option to control whether missing columns are treated as `NULL` or `DEFAULT` in `:values` clauses with sequences of hash maps. TODO: NEEDS DOCUMENTATION UPDATES INCLUDING EXAMPLE USAGE!
|
||||||
* Fix #365 -- a regression from 1.x -- where subclauses for `UNION`, `EXCEPT`, etc were incorrectly parenthesized.
|
* Fix #365 -- a regression from 1.x -- where subclauses for `UNION`, `EXCEPT`, etc were incorrectly parenthesized.
|
||||||
* Update `build-clj` to v0.5.0.
|
* Update `build-clj` to v0.5.0.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,7 @@
|
||||||
(def ^:private ^:dynamic *quoted-snake* nil)
|
(def ^:private ^:dynamic *quoted-snake* nil)
|
||||||
(def ^:private ^:dynamic *inline* nil)
|
(def ^:private ^:dynamic *inline* nil)
|
||||||
(def ^:private ^:dynamic *params* nil)
|
(def ^:private ^:dynamic *params* nil)
|
||||||
|
(def ^:private ^:dynamic *values-default-columns* nil)
|
||||||
;; there is no way, currently, to enable suspicious characters
|
;; there is no way, currently, to enable suspicious characters
|
||||||
;; in entities; if someone complains about this check, an option
|
;; in entities; if someone complains about this check, an option
|
||||||
;; can be added to format to turn this on:
|
;; can be added to format to turn this on:
|
||||||
|
|
@ -621,7 +622,15 @@
|
||||||
(if params' (into params params') params')])
|
(if params' (into params params') params')])
|
||||||
[[] []]
|
[[] []]
|
||||||
(map (fn [m]
|
(map (fn [m]
|
||||||
(format-expr-list (map #(get m %) cols)))
|
(format-expr-list
|
||||||
|
(map #(get m
|
||||||
|
%
|
||||||
|
;; issue #366: use NULL or DEFAULT
|
||||||
|
;; for missing column values:
|
||||||
|
(if (contains? *values-default-columns* %)
|
||||||
|
[:default]
|
||||||
|
nil))
|
||||||
|
cols)))
|
||||||
xs))]
|
xs))]
|
||||||
(into [(str "("
|
(into [(str "("
|
||||||
(str/join ", "
|
(str/join ", "
|
||||||
|
|
@ -1330,7 +1339,8 @@
|
||||||
@default-quoted)
|
@default-quoted)
|
||||||
*quoted-snake* (when (contains? opts :quoted-snake)
|
*quoted-snake* (when (contains? opts :quoted-snake)
|
||||||
(:quoted-snake opts))
|
(:quoted-snake opts))
|
||||||
*params* (:params opts)]
|
*params* (:params opts)
|
||||||
|
*values-default-columns* (:values-default-columns opts)]
|
||||||
(mapv #(unwrap % opts) (format-dsl data opts)))))
|
(mapv #(unwrap % opts) (format-dsl data opts)))))
|
||||||
([data k v & {:as opts}] (format data (assoc opts k v))))
|
([data k v & {:as opts}] (format data (assoc opts k v))))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue