Improve default behavior of reducible! when forced to create a row
Defaults to `map-row-builder`; add examples of `assoc`, `datafiable-row`.
This commit is contained in:
parent
b82f349717
commit
86db20b94b
2 changed files with 13 additions and 1 deletions
|
|
@ -166,7 +166,7 @@
|
|||
|
||||
Supports Seqable which realizes a full row of the data."
|
||||
[^ResultSet rs opts]
|
||||
(let [gen (when-let [gen-fn (:gen-fn opts)] (delay (gen-fn rs opts)))]
|
||||
(let [gen (delay ((get :gen-fn opts map-row-builder) rs opts))]
|
||||
(reify
|
||||
|
||||
clojure.lang.ILookup
|
||||
|
|
|
|||
|
|
@ -141,6 +141,18 @@
|
|||
(delete! con :fruit {:id 1})
|
||||
(update! con :fruit {:appearance "Brown"} {:name "Banana"})
|
||||
|
||||
(reduce (fn [rs m] (reduced (assoc m :test 42)))
|
||||
nil
|
||||
(reducible! con ["select * from fruit where appearance = ?" "red"]))
|
||||
|
||||
(reduce (fn [rs m] (reduced (rs/datafiable-row (assoc m :test 42) con {})))
|
||||
nil
|
||||
(reducible! con ["select * from fruit where appearance = ?" "red"]))
|
||||
|
||||
(reduce (fn [rs m] (reduced (rs/datafiable-row m con {})))
|
||||
nil
|
||||
(reducible! con ["select * from fruit where appearance = ?" "red"]))
|
||||
|
||||
(defrecord Fruit [id name appearance cost grade])
|
||||
|
||||
(defn fruit-builder [^java.sql.ResultSet rs opts]
|
||||
|
|
|
|||
Loading…
Reference in a new issue