pgsql: Make _bt_keep_natts_fast() use datum_image_eq().

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make _bt_keep_natts_fast() use datum_image_eq().
Date: 2019-11-12 21:09:56
Message-ID: E1iUdQC-0005pQ-98@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make _bt_keep_natts_fast() use datum_image_eq().

An upcoming patch that adds deduplication to the nbtree AM will rely on
_bt_keep_natts_fast() understanding that differences in TOAST input
state can never affect its answer. In particular, two opclass-equal
datums (with opclasses deemed safe for deduplication) should never be
treated as unequal by _bt_keep_natts_fast() due to TOAST input
differences.

This also seems like a good idea on general principle. nbtsplitloc.c
will now occasionally make better decisions about where to split a leaf
page. The behavior of _bt_keep_natts_fast() is now somewhat closer to
the behavior of _bt_keep_natts().

Discussion: https://postgr.es/m/CAH2-Wzn3Ee49Gmxb7V1VJ3-AC8fWn-Fr8pfWQebHe8rYRxt5OQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1f55ebae27225111d0a5c4d89d7e77d917357ff4

Modified Files
--------------
src/backend/access/nbtree/nbtutils.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2019-11-12 21:49:23 pgsql: pg_stat_activity: document client_port being null
Previous Message Alvaro Herrera 2019-11-12 20:07:30 pgsql: Have LookupFuncName accept NULL argtypes for 0 args