aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/nbtree/nbtxlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/nbtree/nbtxlog.c')
-rw-r--r--src/backend/access/nbtree/nbtxlog.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c
index e1c37491485..2e5202c2d6e 100644
--- a/src/backend/access/nbtree/nbtxlog.c
+++ b/src/backend/access/nbtree/nbtxlog.c
@@ -449,16 +449,11 @@ btree_xlog_delete(XLogReaderState *record)
*/
if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO)
{
- page = (Page) BufferGetPage(buffer);
-
- if (XLogRecGetDataLen(record) > SizeOfBtreeDelete)
- {
- OffsetNumber *unused;
+ char *ptr = XLogRecGetBlockData(record, 0, NULL);
- unused = (OffsetNumber *) ((char *) xlrec + SizeOfBtreeDelete);
+ page = (Page) BufferGetPage(buffer);
- PageIndexMultiDelete(page, unused, xlrec->nitems);
- }
+ PageIndexMultiDelete(page, (OffsetNumber *) ptr, xlrec->ndeleted);
/* Mark the page as not containing any LP_DEAD items */
opaque = (BTPageOpaque) PageGetSpecialPointer(page);