PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

consulta preguiçosa clojure.java.jdbc


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

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

onde :result-set-fn é uma função que consome o conjunto de resultados lento.

with-db-transaction cuida do autoCommit definido como false .:fetch-size não é passado de query então você tem que fazer uma prepare-statement você mesma.