PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

clojure.java.jdbc faule Abfrage

Siehe zuerst https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor.

Habe es so gelöst.

(jdbc/with-db-transaction [tx connection]
  (jdbc/query tx
    [(jdbc/prepare-statement (:connection tx)
                              "select * from mytable"
                              {:fetch-size 10})]
     {:result-set-fn (fn [result-set] ...)}))

wobei :result-set-fn ist eine Funktion, die die verzögerte Ergebnismenge verarbeitet.

with-db-transaction kümmert sich um autoCommit auf false gesetzt .:fetch-size wird nicht von query übergeben Sie müssen also eine prepare-statement machen selbst.