Completed
Details
Assignee
Sean CorfieldSean CorfieldReporter
Jürgen HötzelJürgen HötzelLabels
Patch
Code and TestPriority
Major
Details
Details
Assignee
Sean Corfield
Sean CorfieldReporter
Jürgen Hötzel
Jürgen HötzelLabels
Patch
Code and Test
Priority

Created May 12, 2012 at 5:51 PM
Updated June 1, 2016 at 6:41 PM
Resolved June 1, 2016 at 6:41 PM
HSQLDB returns an empty ResultSet when using (.getGeneratedKeys stmt)
and no keys are generated. So this Exception is thrown for each record
without generated keys.
While this Exception is caught in do-prepared-return-keys, this can lead to a huge overhead caused by the JVM exception handling. I did a performance test.
Before Patch:
clojure.java.test-jdbc> (time (sql/with-connection hsqldb-db (count (apply sql/insert-records :dummy (map #(hash-map :name (str %) :id %) (range 10000)))))) "Elapsed time: 3429.346743 msecs" 10000
After Patch:
clojure.java.test-jdbc> (time (sql/with-connection hsqldb-db (count (apply sql/insert-records :dummy (map #(hash-map :name (str %) :id %) (range 10000)))))) "Elapsed time: 1397.444753 msecs"