pgsql: nbtree: Pass down MAXALIGN()'d itemsz for new item. - Mailing list pgsql-committers

From Peter Geoghegan
Subject pgsql: nbtree: Pass down MAXALIGN()'d itemsz for new item.
Date
Msg-id E1jDuyg-0000hV-FA@gemulon.postgresql.org
Whole thread Raw
List 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(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: pgsql: Add kqueue(2) support to the WaitEventSet API.
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Plug memory leak