pgsql: Make binaryheap available to frontend code.

From: Nathan Bossart <nathan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make binaryheap available to frontend code.
Date: 2023-09-18 19:19:05
Message-ID: E1qiJlx-004c7P-Ha@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make binaryheap available to frontend code.

There are a couple of places in frontend code that could make use
of this simple binary heap implementation. This commit makes
binaryheap usable in frontend code, much like commit 26aaf97b68 did
for StringInfo. Like StringInfo, the header file is left in lib/
to reduce the likelihood of unnecessary breakage.

The frontend version of binaryheap exposes a void *-based API since
frontend code does not have access to the Datum definitions. This
seemed like a better approach than switching all existing uses to
void * or making the Datum definitions available to frontend code.

Reviewed-by: Tom Lane, Alvaro Herrera
Discussion: https://postgr.es/m/3612876.1689443232%40sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5af0263afd7beaf947e22115b7e9ade000b0387d

Modified Files
--------------
src/backend/lib/Makefile | 1 -
src/backend/lib/meson.build | 1 -
src/common/Makefile | 1 +
src/{backend/lib => common}/binaryheap.c | 41 +++++++++++++++++++++++---------
src/common/meson.build | 1 +
src/include/lib/binaryheap.h | 26 ++++++++++++++------
src/tools/pgindent/typedefs.list | 1 +
7 files changed, 52 insertions(+), 20 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nathan Bossart 2023-09-18 19:47:14 pgsql: Fix MSVC build for changes to binaryheap.
Previous Message Tom Lane 2023-09-18 18:28:33 pgsql: Don't crash if cursor_to_xmlschema is used on a non-data-returni