postgrespro.git / summary / log / commit / refs
commit 77b88bd5dc92a46319a3dd4b554f89f634bb9eaa
Author: Peter Geoghegan <pg@bowt.ie>
Date: Mon Mar 02 16:07:16 2020 +0000
Add assertions to _bt_update_posting().
Copy some assertions from _bt_form_posting() to its sibling function,
_bt_update_posting().
Discussion: https://postgr.es/m/CAH2-WzkPR8KMwkL0ap976kmXwBCeukTeHz6fB-U__wvuP1S9Zg@mail.gmail.com
src/backend/access/nbtree/nbtdedup.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c
index 3175d6fdd1..2434ce134b 100644
--- a/src/backend/access/nbtree/nbtdedup.c
+++ b/src/backend/access/nbtree/nbtdedup.c
@@ -688,6 +688,9 @@ _bt_update_posting(BTVacuumPosting vacposting)
else
newsize = keysize;
+ Assert(newsize <= INDEX_SIZE_MASK);
+ Assert(newsize == MAXALIGN(newsize));
+
/* Allocate memory using palloc0() (matches index_form_tuple()) */
itup = palloc0(newsize);
memcpy(itup, origtuple, keysize);
@@ -721,6 +724,7 @@ _bt_update_posting(BTVacuumPosting vacposting)
Assert(ui == nhtids);
Assert(d == vacposting->ndeletedtids);
Assert(nhtids == 1 || _bt_posting_valid(itup));
+ Assert(nhtids > 1 || ItemPointerIsValid(&itup->t_tid));
/* vacposting arg's itup will now point to updated version */
vacposting->itup = itup;
[parent: ed0d88376589]