postgres-github.git / summary / log / commit / refs

commit    ac59a90bef4527961ce205c9f890bf3ef0672c7d
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Thu Apr 30 04:10:19 2026 +0000

    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

[parent: 4bfd0f1b769e]