@@ -2200,9 +2200,8 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid,
22002200 * write the whole page to the xlog, we don't need to store
22012201 * xl_heap_header in the xlog.
22022202 */
2203- if (RelationGetReduceFPI (relation ))
2204- bufflags |= REGBUF_REDUCE_FPI ;
2205- XLogRegisterBuffer (0 , buffer , REGBUF_STANDARD | bufflags );
2203+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD | bufflags ,
2204+ relation );
22062205 XLogRegisterBufData (0 , (char * ) & xlhdr , SizeOfNeonHeapHeader );
22072206 /* PG73FORMAT: write bitmap [+ padding] [+ oid] + data */
22082207 XLogRegisterBufData (0 ,
@@ -3117,10 +3116,7 @@ heap_delete(Relation relation, ItemPointer tid,
31173116 XLogBeginInsert ();
31183117 XLogRegisterData ((char * ) & xlrec , SizeOfNeonHeapDelete );
31193118
3120- int bufflags = REGBUF_STANDARD ;
3121- if (RelationGetReduceFPI (relation ))
3122- bufflags |= REGBUF_REDUCE_FPI ;
3123- XLogRegisterBuffer (0 , buffer , bufflags );
3119+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
31243120
31253121 /*
31263122 * Log replica identity of the deleted tuple if there is one
@@ -3892,10 +3888,7 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
38923888 XLogRecPtr recptr ;
38933889
38943890 XLogBeginInsert ();
3895- int bufflags = REGBUF_STANDARD ;
3896- if (RelationGetReduceFPI (relation ))
3897- bufflags |= REGBUF_REDUCE_FPI ;
3898- XLogRegisterBuffer (0 , buffer , bufflags );
3891+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
38993892
39003893 xlrec .offnum = ItemPointerGetOffsetNumber (& oldtup .t_self );
39013894 xlrec .xmax = xmax_lock_old_tuple ;
@@ -5228,10 +5221,7 @@ heap_lock_tuple(Relation relation, HeapTuple tuple,
52285221 XLogRecPtr recptr ;
52295222
52305223 XLogBeginInsert ();
5231- int bufflags = REGBUF_STANDARD ;
5232- if (RelationGetReduceFPI (relation ))
5233- bufflags |= REGBUF_REDUCE_FPI ;
5234- XLogRegisterBuffer (0 , * buffer , bufflags );
5224+ XLogRegisterBufferForRelation (0 , * buffer , REGBUF_STANDARD , relation );
52355225
52365226 xlrec .offnum = ItemPointerGetOffsetNumber (& tuple -> t_self );
52375227 xlrec .xmax = xid ;
@@ -5984,10 +5974,7 @@ heap_lock_updated_tuple_rec(Relation rel, ItemPointer tid, TransactionId xid,
59845974 Page page = BufferGetPage (buf );
59855975
59865976 XLogBeginInsert ();
5987- int bufflags = REGBUF_STANDARD ;
5988- if (RelationGetReduceFPI (rel ))
5989- bufflags |= REGBUF_REDUCE_FPI ;
5990- XLogRegisterBuffer (0 , buf , bufflags );
5977+ XLogRegisterBufferForRelation (0 , buf , REGBUF_STANDARD , rel );
59915978
59925979 xlrec .offnum = ItemPointerGetOffsetNumber (& mytup .t_self );
59935980 xlrec .xmax = new_xmax ;
@@ -6149,10 +6136,7 @@ heap_finish_speculative(Relation relation, ItemPointer tid)
61496136 XLogSetRecordFlags (XLOG_INCLUDE_ORIGIN );
61506137
61516138 XLogRegisterData ((char * ) & xlrec , SizeOfHeapConfirm );
6152- int bufflags = REGBUF_STANDARD ;
6153- if (RelationGetReduceFPI (relation ))
6154- bufflags |= REGBUF_REDUCE_FPI ;
6155- XLogRegisterBuffer (0 , buffer , bufflags );
6139+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
61566140
61576141 recptr = XLogInsert (RM_HEAP_ID , XLOG_HEAP_CONFIRM );
61586142
@@ -6309,10 +6293,7 @@ heap_abort_speculative(Relation relation, ItemPointer tid)
63096293
63106294 XLogBeginInsert ();
63116295 XLogRegisterData ((char * ) & xlrec , SizeOfNeonHeapDelete );
6312- int bufflags = REGBUF_STANDARD ;
6313- if (RelationGetReduceFPI (relation ))
6314- bufflags |= REGBUF_REDUCE_FPI ;
6315- XLogRegisterBuffer (0 , buffer , bufflags );
6296+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
63166297
63176298 /* No replica identity & replication origin logged */
63186299
@@ -6556,10 +6537,7 @@ heap_inplace_update_and_unlock(Relation relation,
65566537 XLogBeginInsert ();
65576538 XLogRegisterData ((char * ) & xlrec , SizeOfHeapInplace );
65586539
6559- int bufflags = REGBUF_STANDARD ;
6560- if (RelationGetReduceFPI (relation ))
6561- bufflags |= REGBUF_REDUCE_FPI ;
6562- XLogRegisterBuffer (0 , buffer , bufflags );
6540+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
65636541 XLogRegisterBufData (0 , (char * ) htup + htup -> t_hoff , newlen );
65646542
65656543 /* inplace updates aren't decoded atm, don't log the origin */
@@ -6662,10 +6640,7 @@ heap_inplace_update(Relation relation, HeapTuple tuple)
66626640 XLogBeginInsert ();
66636641 XLogRegisterData ((char * ) & xlrec , SizeOfHeapInplace );
66646642
6665- int bufflags = REGBUF_STANDARD ;
6666- if (RelationGetReduceFPI (relation ))
6667- bufflags |= REGBUF_REDUCE_FPI ;
6668- XLogRegisterBuffer (0 , buffer , bufflags );
6643+ XLogRegisterBufferForRelation (0 , buffer , REGBUF_STANDARD , relation );
66696644 XLogRegisterBufData (0 , (char * ) htup + htup -> t_hoff , newlen );
66706645
66716646 /* inplace updates aren't decoded atm, don't log the origin */
@@ -8887,9 +8862,7 @@ log_heap_visible(Relation rel, Buffer heap_buffer, Buffer vm_buffer,
88878862 flags = REGBUF_STANDARD ;
88888863 if (!XLogHintBitIsNeeded ())
88898864 flags |= REGBUF_NO_IMAGE ;
8890- if (RelationGetReduceFPI (rel ))
8891- flags |= REGBUF_REDUCE_FPI ;
8892- XLogRegisterBuffer (1 , heap_buffer , flags );
8865+ XLogRegisterBufferForRelation (1 , heap_buffer , flags , rel );
88938866
88948867 recptr = XLogInsert (RM_HEAP2_ID , XLOG_HEAP2_VISIBLE );
88958868
@@ -9029,16 +9002,11 @@ log_heap_update(Relation reln, Buffer oldbuf,
90299002 bufflags |= REGBUF_WILL_INIT ;
90309003 if (need_tuple_data )
90319004 bufflags |= REGBUF_KEEP_DATA ;
9032- if (RelationGetReduceFPI (reln ))
9033- bufflags |= REGBUF_REDUCE_FPI ;
90349005
9035- XLogRegisterBuffer (0 , newbuf , bufflags );
9006+ XLogRegisterBufferForRelation (0 , newbuf , bufflags , reln );
90369007 if (oldbuf != newbuf )
90379008 {
9038- int oldbufflags = REGBUF_STANDARD ;
9039- if (RelationGetReduceFPI (reln ))
9040- oldbufflags |= REGBUF_REDUCE_FPI ;
9041- XLogRegisterBuffer (1 , oldbuf , oldbufflags );
9009+ XLogRegisterBufferForRelation (1 , oldbuf , REGBUF_STANDARD , reln );
90429010 }
90439011
90449012 XLogRegisterData ((char * ) & xlrec , SizeOfNeonHeapUpdate );
0 commit comments