agora inbox for pgsql-committers@postgresql.org
help / color / mirror / Atom feedFrom: Michael Paquier <michael@paquier.xyz>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Adjust some incorrect *GetDatum() macros
Date: Thu, 30 Apr 2026 04:12:07 +0000
Message-ID: <E1wIIkw-003PqX-2g@gemulon.postgresql.org> (raw)
Adjust some incorrect *GetDatum() macros
This reverts portions of commit 6dcfac9696cb, which is wrong in trying
to use a *GetDatum() that matches with the C types of the values read.
*GetDatum() should match with the output argument types of the SQL
functions.
The portions of 6dcfac9696cb that are right regarding this rule are:
- gistget.c, where the GiST support functions use DatumGetUInt16() to
retrieve the strategy number.
- The BRIN code for strategynum, used in syscache lookups.
The adjustments done in this commit are for pageinspect, pg_buffercache
and pg_lock_status().
While double-checking the whole state of the tree regarding non-matching
pairs of DatumGet*() and *GetDatum(), I have found much more code paths
that are incorrect, unrelated to 6dcfac9696cb. These may be adjusted in
the future, in a different patch (perhaps not for v19, as we are already
past feature freeze).
Reported-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/97f9375a-be61-4272-a44d-408337fe8fa6@eisentraut.org
Discussion: https://postgr.es/m/CAJ7c6TMcGu8qmRe1gZfJ-gOzVnZq-t=fwn-UuyStx1w6ZyydMw@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/ac59a90bef4527961ce205c9f890bf3ef0672c7d
Modified Files
--------------
contrib/pageinspect/btreefuncs.c | 2 +-
contrib/pageinspect/ginfuncs.c | 2 +-
contrib/pageinspect/gistfuncs.c | 4 ++--
contrib/pg_buffercache/pg_buffercache_pages.c | 2 +-
src/backend/utils/adt/lockfuncs.c | 4 ++--
5 files changed, 7 insertions(+), 7 deletions(-)
Message-ID: <E1wIIkw-003PqX-2g@gemulon.postgresql.org>
Permalink: ../E1wIIkw-003PqX-2g@gemulon.postgresql.org/
Also on: postgresql.org/message-id/E1wIIkw-003PqX-2g@gemulon.postgresql.org
reply
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: michael@paquier.xyz, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Adjust some incorrect *GetDatum() macros
In-Reply-To: <E1wIIkw-003PqX-2g@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 agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox