Uploaded image for project: 'java.jdbc'
  1. JDBC-31

distinct? throws clojure.lang.ArityException, when applied with no arguments

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Completed
    • Patch:
      Code and Test

      Description

      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"
      

        Attachments

          Activity

            People

            • Assignee:
              seancorfield Sean Corfield
              Reporter:
              juergenhoetzel Jürgen Hötzel
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: