diff options
author | Peter Geoghegan | 2022-08-05 20:06:19 +0000 |
---|---|---|
committer | Peter Geoghegan | 2022-08-05 20:06:19 +0000 |
commit | b2fe783aecadb42e17868787bb45aa6328796d2a (patch) | |
tree | 3e313ea044c7fcc9691a28a647bfef08e5ed47d0 | |
parent | 4c81a50e5b6ea0bf2bc9896a6c89d16163598b43 (diff) |
Add missing parenthesis to max item size macro.
Oversight in commit 92f37505, per buildfarm.
-rw-r--r-- | src/backend/access/nbtree/nbtdedup.c | 3 | ||||
-rw-r--r-- | src/include/access/nbtree.h | 8 |
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)) - \ |