This commit is contained in:
Sean Corfield 2020-02-26 08:55:32 -08:00
parent c17a425df6
commit cba3ac4cec
3 changed files with 19 additions and 18 deletions

View file

@ -8,6 +8,8 @@ The following changes have been committed to the **master** branch since the 1.0
* Add PostgreSQL streaming option information to **Tips & Tricks**. * Add PostgreSQL streaming option information to **Tips & Tricks**.
* Minor documentation fixes. * Minor documentation fixes.
* Improve `Unknown dbtype` exception message (to clarify that `:classname` is also missing).
* Address #89, #91 by making minor performance tweaks to `next.jdbc.result-set` functions.
* Planning to move to MAJOR.MINOR.COMMITS versioning scheme (1.0.375). * Planning to move to MAJOR.MINOR.COMMITS versioning scheme (1.0.375).
## Stable Builds ## Stable Builds

View file

@ -198,7 +198,9 @@
(recur more) (recur more)
(throw loaded)) (throw loaded))
loaded))))))) loaded)))))))
(throw (ex-info (str "Unknown dbtype: " dbtype) db-spec))) (throw (ex-info (str "Unknown dbtype: " dbtype
", and :classname not provided.")
db-spec)))
[url etc])))) [url etc]))))
(defn ->pool (defn ->pool

View file

@ -45,14 +45,16 @@
Requires both the `:qualifier-fn` and `:label-fn` options." Requires both the `:qualifier-fn` and `:label-fn` options."
[^ResultSetMetaData rsmeta opts] [^ResultSetMetaData rsmeta opts]
(assert (:qualifier-fn opts) ":qualifier-fn is required") (let [qf (:qualifier-fn opts)
(assert (:label-fn opts) ":label-fn is required") lf (:label-fn opts)]
(mapv (fn [^Integer i] (keyword (some-> (.getTableName rsmeta i) (assert qf ":qualifier-fn is required")
(not-empty) (assert lf ":label-fn is required")
((:qualifier-fn opts))) (mapv (fn [^Integer i] (keyword (some-> (.getTableName rsmeta i)
(-> (.getColumnLabel rsmeta i) (not-empty)
((:label-fn opts))))) (qf))
(range 1 (inc (.getColumnCount rsmeta))))) (-> (.getColumnLabel rsmeta i)
(lf))))
(range 1 (inc (.getColumnCount rsmeta))))))
(defn get-unqualified-modified-column-names (defn get-unqualified-modified-column-names
"Given `ResultSetMetaData`, return a vector of unqualified modified column "Given `ResultSetMetaData`, return a vector of unqualified modified column
@ -60,9 +62,10 @@
Requires the `:label-fn` option." Requires the `:label-fn` option."
[^ResultSetMetaData rsmeta opts] [^ResultSetMetaData rsmeta opts]
(assert (:label-fn opts) ":label-fn is required") (let [lf (:label-fn opts)]
(mapv (fn [^Integer i] (keyword ((:label-fn opts) (.getColumnLabel rsmeta i)))) (assert lf ":label-fn is required")
(range 1 (inc (.getColumnCount rsmeta))))) (mapv (fn [^Integer i] (keyword (lf (.getColumnLabel rsmeta i))))
(range 1 (inc (.getColumnCount rsmeta))))))
(defn- lower-case (defn- lower-case
"Converts a string to lower case in the US locale to avoid problems in "Converts a string to lower case in the US locale to avoid problems in
@ -173,8 +176,6 @@
Requires both the `:qualifier-fn` and `:label-fn` options." Requires both the `:qualifier-fn` and `:label-fn` options."
[^ResultSet rs opts] [^ResultSet rs opts]
(assert (:qualifier-fn opts) ":qualifier-fn is required")
(assert (:label-fn opts) ":label-fn is required")
(let [rsmeta (.getMetaData rs) (let [rsmeta (.getMetaData rs)
cols (get-modified-column-names rsmeta opts)] cols (get-modified-column-names rsmeta opts)]
(->MapResultSetBuilder rs rsmeta cols))) (->MapResultSetBuilder rs rsmeta cols)))
@ -185,7 +186,6 @@
Requires the `:label-fn` option." Requires the `:label-fn` option."
[^ResultSet rs opts] [^ResultSet rs opts]
(assert (:label-fn opts) ":label-fn is required")
(let [rsmeta (.getMetaData rs) (let [rsmeta (.getMetaData rs)
cols (get-unqualified-modified-column-names rsmeta opts)] cols (get-unqualified-modified-column-names rsmeta opts)]
(->MapResultSetBuilder rs rsmeta cols))) (->MapResultSetBuilder rs rsmeta cols)))
@ -290,8 +290,6 @@
Requires both the `:qualifier-fn` and `:label-fn` options." Requires both the `:qualifier-fn` and `:label-fn` options."
[^ResultSet rs opts] [^ResultSet rs opts]
(assert (:qualifier-fn opts) ":qualifier-fn is required")
(assert (:label-fn opts) ":label-fn is required")
(let [rsmeta (.getMetaData rs) (let [rsmeta (.getMetaData rs)
cols (get-modified-column-names rsmeta opts)] cols (get-modified-column-names rsmeta opts)]
(->ArrayResultSetBuilder rs rsmeta cols))) (->ArrayResultSetBuilder rs rsmeta cols)))
@ -303,7 +301,6 @@
Requires the `:label-fn` option." Requires the `:label-fn` option."
[^ResultSet rs opts] [^ResultSet rs opts]
(assert (:label-fn opts) ":label-fn is required")
(let [rsmeta (.getMetaData rs) (let [rsmeta (.getMetaData rs)
cols (get-unqualified-modified-column-names rsmeta opts)] cols (get-unqualified-modified-column-names rsmeta opts)]
(->ArrayResultSetBuilder rs rsmeta cols))) (->ArrayResultSetBuilder rs rsmeta cols)))