Add common interface for TBMIterators
authorMelanie Plageman <melanieplageman@gmail.com>
Wed, 18 Dec 2024 23:19:28 +0000 (18:19 -0500)
committerMelanie Plageman <melanieplageman@gmail.com>
Wed, 18 Dec 2024 23:19:28 +0000 (18:19 -0500)
commit7f9d4187e7bab10329cc00aff34cfba08248d4be
tree91eea6e103e5a8512dbd0c66be4f80ff3d32793e
parent28328ec87b45725f62bed1104d99c8b3220d1675
Add common interface for TBMIterators

Add and use TBMPrivateIterator, which replaces the current TBMIterator
for serial use cases, and repurpose TBMIterator to be a unified
interface for both the serial ("private") and parallel ("shared") TID
Bitmap iterator interfaces. This encapsulation simplifies call sites for
callers supporting both parallel and serial TID Bitmap access.
TBMIterator is not yet used in this commit.

Author: Melanie Plageman
Reviewed-by: Tomas Vondra, Heikki Linnakangas
Discussion: https://postgr.es/m/063e4eb4-32d9-439e-a0b1-75565a9835a8%40iki.fi
src/backend/access/gin/ginget.c
src/backend/access/gin/ginscan.c
src/backend/access/heap/heapam_handler.c
src/backend/executor/nodeBitmapHeapscan.c
src/backend/nodes/tidbitmap.c
src/include/access/gin_private.h
src/include/access/relscan.h
src/include/nodes/execnodes.h
src/include/nodes/tidbitmap.h
src/tools/pgindent/typedefs.list