pgsql: nbtree: Pass down MAXALIGN()'d itemsz for new item.

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: nbtree: Pass down MAXALIGN()'d itemsz for new item.
Date: 2020-03-16 19:00:42
Message-ID: E1jDuyg-0000hV-FA@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

nbtree: Pass down MAXALIGN()'d itemsz for new item.

Refactor nbtinsert.c so that the final itemsz of each new non-pivot
tuple (the MAXALIGN()'d size) is determined once. Most of the functions
used by leaf page inserts used the insertstate.itemsz value already.
This commit makes everything use insertstate.itemsz as standard
practice. The goal is to decouple tuple size from "effective" tuple
size. Making this distinction isn't truly necessary right now, but that
might change in the future.

Also explain why we consistently apply MAXALIGN() to get an effective
index tuple size. This was rather unclear, in part because it isn't
actually strictly necessary right now.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/013c1f6af6c5017d97b1268cf9a5fa3d0575eecb

Modified Files
--------------
src/backend/access/nbtree/nbtinsert.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2020-03-16 19:22:17 Re: pgsql: Unify several ways to tracking backend type
Previous Message Alexander Korotkov 2020-03-16 11:54:43 Re: pgsql: Add kqueue(2) support to the WaitEventSet API.