diff options
Diffstat (limited to 'src/backend/access/brin/brin_revmap.c')
-rw-r--r-- | src/backend/access/brin/brin_revmap.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/backend/access/brin/brin_revmap.c b/src/backend/access/brin/brin_revmap.c index 272c74e6b6e..adc7d0b8473 100644 --- a/src/backend/access/brin/brin_revmap.c +++ b/src/backend/access/brin/brin_revmap.c @@ -477,23 +477,16 @@ revmap_physical_extend(BrinRevmap *revmap) { xl_brin_revmap_extend xlrec; XLogRecPtr recptr; - XLogRecData rdata[2]; - xlrec.node = revmap->rm_irel->rd_node; xlrec.targetBlk = mapBlk; - rdata[0].data = (char *) &xlrec; - rdata[0].len = SizeOfBrinRevmapExtend; - rdata[0].buffer = InvalidBuffer; - rdata[0].buffer_std = false; - rdata[0].next = &(rdata[1]); - - rdata[1].data = (char *) NULL; - rdata[1].len = 0; - rdata[1].buffer = revmap->rm_metaBuf; - rdata[1].buffer_std = false; - rdata[1].next = NULL; - - recptr = XLogInsert(RM_BRIN_ID, XLOG_BRIN_REVMAP_EXTEND, rdata); + + XLogBeginInsert(); + XLogRegisterData((char *) &xlrec, SizeOfBrinRevmapExtend); + XLogRegisterBuffer(0, revmap->rm_metaBuf, 0); + + XLogRegisterBuffer(1, buf, REGBUF_WILL_INIT); + + recptr = XLogInsert(RM_BRIN_ID, XLOG_BRIN_REVMAP_EXTEND); PageSetLSN(metapage, recptr); PageSetLSN(page, recptr); } |