PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

query pigra clojure.java.jdbc

Innanzitutto, consulta https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor.

Risolto così.

(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] ...)}))

dove :result-set-fn è una funzione che consuma il set di risultati pigri.

with-db-transaction si occupa di autoCommit impostato su false .:fetch-size non viene passato da query quindi devi fare una prepare-statement te stesso.