From: Melanie Plageman <melanieplageman@gmail.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Add common interface for TBMIterators
Date: Wed, 18 Dec 2024 23:22:11 +0000
Message-ID: <E1tO3Mo-000GJq-UZ@gemulon.postgresql.org> (raw)
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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/7f9d4187e7bab10329cc00aff34cfba08248d4be
Modified Files
--------------
src/backend/access/gin/ginget.c | 10 +--
src/backend/access/gin/ginscan.c | 2 +-
src/backend/access/heap/heapam_handler.c | 2 +-
src/backend/executor/nodeBitmapHeapscan.c | 25 +++----
src/backend/nodes/tidbitmap.c | 114 +++++++++++++++++++++++-------
src/include/access/gin_private.h | 2 +-
src/include/access/relscan.h | 4 +-
src/include/nodes/execnodes.h | 2 +-
src/include/nodes/tidbitmap.h | 30 ++++++--
src/tools/pgindent/typedefs.list | 1 +
10 files changed, 140 insertions(+), 52 deletions(-)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: melanieplageman@gmail.com, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Add common interface for TBMIterators
In-Reply-To: <E1tO3Mo-000GJq-UZ@gemulon.postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox