summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Geoghegan2022-08-05 20:06:19 +0000
committerPeter Geoghegan2022-08-05 20:06:19 +0000
commitb2fe783aecadb42e17868787bb45aa6328796d2a (patch)
tree3e313ea044c7fcc9691a28a647bfef08e5ed47d0
parent4c81a50e5b6ea0bf2bc9896a6c89d16163598b43 (diff)
Add missing parenthesis to max item size macro.
Oversight in commit 92f37505, per buildfarm.
-rw-r--r--src/backend/access/nbtree/nbtdedup.c3
-rw-r--r--src/include/access/nbtree.h8
2 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c
index 0207421a5d9..9e15ae57586 100644
--- a/src/backend/access/nbtree/nbtdedup.c
+++ b/src/backend/access/nbtree/nbtdedup.c
@@ -566,6 +566,8 @@ _bt_dedup_finish_pending(Page newpage, BTDedupState state)
{
/* Use original, unchanged base tuple */
tuplesz = IndexTupleSize(state->base);
+ Assert(tuplesz == MAXALIGN(IndexTupleSize(state->base)));
+ Assert(tuplesz <= BTMaxItemSize(newpage));
if (PageAddItem(newpage, (Item) state->base, tuplesz, tupoff,
false, false) == InvalidOffsetNumber)
elog(ERROR, "deduplication failed to add tuple to page");
@@ -585,6 +587,7 @@ _bt_dedup_finish_pending(Page newpage, BTDedupState state)
state->intervals[state->nintervals].nitems = state->nitems;
Assert(tuplesz == MAXALIGN(IndexTupleSize(final)));
+ Assert(tuplesz <= BTMaxItemSize(newpage));
if (PageAddItem(newpage, (Item) final, tuplesz, tupoff, false,
false) == InvalidOffsetNumber)
elog(ERROR, "deduplication failed to add tuple to page");
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 52a422793b0..8e4f6864e59 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -162,10 +162,10 @@ typedef struct BTMetaPageData
* attribute, which we account for here.
*/
#define BTMaxItemSize(page) \
- MAXALIGN_DOWN((PageGetPageSize(page) - \
- MAXALIGN(SizeOfPageHeaderData + 3*sizeof(ItemIdData)) - \
- MAXALIGN(sizeof(BTPageOpaqueData))) / 3) - \
- MAXALIGN(sizeof(ItemPointerData))
+ (MAXALIGN_DOWN((PageGetPageSize(page) - \
+ MAXALIGN(SizeOfPageHeaderData + 3*sizeof(ItemIdData)) - \
+ MAXALIGN(sizeof(BTPageOpaqueData))) / 3) - \
+ MAXALIGN(sizeof(ItemPointerData)))
#define BTMaxItemSizeNoHeapTid(page) \
MAXALIGN_DOWN((PageGetPageSize(page) - \
MAXALIGN(SizeOfPageHeaderData + 3*sizeof(ItemIdData)) - \