From: Peter Geoghegan Date: Wed, 8 May 2019 04:42:12 +0000 (-0700) Subject: Correct obsolete nbtsort.c minimum key comment. X-Git-Tag: REL_12_BETA1~112 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d65b5ccad626e1942c862e8a70f56ad7ee7a8003;p=postgresql Correct obsolete nbtsort.c minimum key comment. It is no longer possible under any circumstances for nbtree code to reconstruct a strict lower bound key (parent page's pivot tuple key) for a right sibling page by retrieving the first item in the right sibling page. --- diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index cc50ec1fa4..0b5be776d6 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -1007,9 +1007,8 @@ _bt_buildadd(BTWriteState *wstate, BTPageState *state, IndexTuple itup) pfree(state->btps_minkey); /* - * Save a copy of the minimum key for the new page. We have to copy - * it off the old page, not the new one, in case we are not at leaf - * level. + * Save a copy of the high key from the old page. It is also used as + * the minimum key for the new page. */ state->btps_minkey = CopyIndexTuple(oitup); @@ -1045,9 +1044,8 @@ _bt_buildadd(BTWriteState *wstate, BTPageState *state, IndexTuple itup) * If the new item is the first for its page, stash a copy for later. Note * this will only happen for the first item on a level; on later pages, * the first item for a page is copied from the prior page in the code - * above. Since the minimum key for an entire level is only used as a - * minus infinity downlink, and never as a high key, there is no need to - * truncate away suffix attributes at this point. + * above. The minimum key for an entire level is nothing more than a + * minus infinity (downlink only) pivot tuple placeholder. */ if (last_off == P_HIKEY) {