Docs: clarify cursor behavior
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- clojure, postgresql
調査の方向性
カーソルのドキュメントと、レポートに示されている jdbc/fetch-lazy および jdbc/cursor->lazyseq のエントリーポイントから始めます。Hikari CP を使用して PostgreSQL 11 のケースを再現し、fetch size と auto-commit の設定がある場合とない場合の動作を確認します。ドキュメントに必要な設定またはライブラリの想定動作が明確に記載されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Using clojure.jdbc w/ Hikari CP and Postgresql 11.
When attempting to create a cursor as described in the docs the process still ends up trying to load the whole result set into memory.
(def conn (jdbc/connection pool))
(def cursor (jdbc/fetch-lazy conn "SELECT \"uuid\", data_bytes FROM visitor_data;"))
(def cursor-seq (jdbc/cursor->lazyseq cursor)) ;; hangs here
If I explicitly set auto-commit and the fetch size I don't have that problem:
(def conn (jdbc/connection pool))
(def cursor (jdbc/fetch-lazy conn "SELECT \"uuid\", data_bytes FROM visitor_data;"))
(.setFetchSize (.-stmt cursor) 50)
(.setAutoCommit (.getConnection (.-stmt cursor)) false)
(def cursor-seq (jdbc/cursor->lazyseq cursor))
is this a documentation problem or is the library expected to modify those settings for us?
- 主要言語
- Clojure
- スター
- 106
- フォーク
- 23
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
funcool/clojure.jdbc のほかの issue
-
java.time interop オープン
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
funcool/clojure.jdbc#46 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 28/100
funcool/clojure.jdbc#43 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
funcool/clojure.jdbc#40 · リアクション 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
funcool/clojure.jdbc#38 · リアクション 4 件 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
funcool/clojure.jdbc#32 · コメント 1 件 · リアクション 1 件 ·
funcool/clojure.jdbc の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
clojure-emacs/cider#4203 ·
-
.Team/QueryingPlatform Priority:P2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
clj-commons/antq#329 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100