From: | Melanie Plageman <melanieplageman(at)gmail(dot)com> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Separate TBM[Shared|Private]Iterator and TBMIterateResult |
Date: | 2025-03-15 14:12:03 |
Message-ID: | E1ttSF9-002bgc-0J@gemulon.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Separate TBM[Shared|Private]Iterator and TBMIterateResult
Remove the TBMIterateResult member from the TBMPrivateIterator and
TBMSharedIterator and make tbm_[shared|private_]iterate() take a
TBMIterateResult as a parameter.
This allows tidbitmap API users to manage multiple TBMIterateResults per
scan. This is required for bitmap heap scan to use the read stream API,
with which there may be multiple I/Os in flight at once, each one with a
TBMIterateResult.
Reviewed-by: Tomas Vondra <tomas(at)vondra(dot)me>
Discussion: https://postgr.es/m/d4bb26c9-fe07-439e-ac53-c0e244387e01%40vondra.me
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/944e81bf99db2b5b70b8a389d4f273534da73f74
Modified Files
--------------
src/backend/access/gin/ginget.c | 33 ++++++-----
src/backend/access/gin/ginscan.c | 2 +-
src/backend/access/heap/heapam_handler.c | 28 +++++----
src/backend/executor/nodeBitmapHeapscan.c | 39 ++++++-------
src/backend/nodes/tidbitmap.c | 96 +++++++++++++++++--------------
src/include/access/gin_private.h | 7 ++-
src/include/nodes/tidbitmap.h | 6 +-
7 files changed, 110 insertions(+), 101 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Melanie Plageman | 2025-03-15 14:35:15 | pgsql: BitmapHeapScan uses the read stream API |
Previous Message | Thomas Munro | 2025-03-15 13:55:37 | pgsql: Simplify distance heuristics in read_stream.c. |