@@ -5678,154 +5678,6 @@ heap2_redo(XLogRecPtr lsn, XLogRecord *record)
56785678 }
56795679}
56805680
5681- static void
5682- out_target (StringInfo buf , xl_heaptid * target )
5683- {
5684- appendStringInfo (buf , "rel %u/%u/%u; tid %u/%u" ,
5685- target -> node .spcNode , target -> node .dbNode , target -> node .relNode ,
5686- ItemPointerGetBlockNumber (& (target -> tid )),
5687- ItemPointerGetOffsetNumber (& (target -> tid )));
5688- }
5689-
5690- void
5691- heap_desc (StringInfo buf , uint8 xl_info , char * rec )
5692- {
5693- uint8 info = xl_info & ~XLR_INFO_MASK ;
5694-
5695- info &= XLOG_HEAP_OPMASK ;
5696- if (info == XLOG_HEAP_INSERT )
5697- {
5698- xl_heap_insert * xlrec = (xl_heap_insert * ) rec ;
5699-
5700- if (xl_info & XLOG_HEAP_INIT_PAGE )
5701- appendStringInfo (buf , "insert(init): " );
5702- else
5703- appendStringInfo (buf , "insert: " );
5704- out_target (buf , & (xlrec -> target ));
5705- }
5706- else if (info == XLOG_HEAP_DELETE )
5707- {
5708- xl_heap_delete * xlrec = (xl_heap_delete * ) rec ;
5709-
5710- appendStringInfo (buf , "delete: " );
5711- out_target (buf , & (xlrec -> target ));
5712- }
5713- else if (info == XLOG_HEAP_UPDATE )
5714- {
5715- xl_heap_update * xlrec = (xl_heap_update * ) rec ;
5716-
5717- if (xl_info & XLOG_HEAP_INIT_PAGE )
5718- appendStringInfo (buf , "update(init): " );
5719- else
5720- appendStringInfo (buf , "update: " );
5721- out_target (buf , & (xlrec -> target ));
5722- appendStringInfo (buf , "; new %u/%u" ,
5723- ItemPointerGetBlockNumber (& (xlrec -> newtid )),
5724- ItemPointerGetOffsetNumber (& (xlrec -> newtid )));
5725- }
5726- else if (info == XLOG_HEAP_HOT_UPDATE )
5727- {
5728- xl_heap_update * xlrec = (xl_heap_update * ) rec ;
5729-
5730- if (xl_info & XLOG_HEAP_INIT_PAGE ) /* can this case happen? */
5731- appendStringInfo (buf , "hot_update(init): " );
5732- else
5733- appendStringInfo (buf , "hot_update: " );
5734- out_target (buf , & (xlrec -> target ));
5735- appendStringInfo (buf , "; new %u/%u" ,
5736- ItemPointerGetBlockNumber (& (xlrec -> newtid )),
5737- ItemPointerGetOffsetNumber (& (xlrec -> newtid )));
5738- }
5739- else if (info == XLOG_HEAP_NEWPAGE )
5740- {
5741- xl_heap_newpage * xlrec = (xl_heap_newpage * ) rec ;
5742-
5743- appendStringInfo (buf , "newpage: rel %u/%u/%u; fork %u, blk %u" ,
5744- xlrec -> node .spcNode , xlrec -> node .dbNode ,
5745- xlrec -> node .relNode , xlrec -> forknum ,
5746- xlrec -> blkno );
5747- }
5748- else if (info == XLOG_HEAP_LOCK )
5749- {
5750- xl_heap_lock * xlrec = (xl_heap_lock * ) rec ;
5751-
5752- if (xlrec -> shared_lock )
5753- appendStringInfo (buf , "shared_lock: " );
5754- else
5755- appendStringInfo (buf , "exclusive_lock: " );
5756- if (xlrec -> xid_is_mxact )
5757- appendStringInfo (buf , "mxid " );
5758- else
5759- appendStringInfo (buf , "xid " );
5760- appendStringInfo (buf , "%u " , xlrec -> locking_xid );
5761- out_target (buf , & (xlrec -> target ));
5762- }
5763- else if (info == XLOG_HEAP_INPLACE )
5764- {
5765- xl_heap_inplace * xlrec = (xl_heap_inplace * ) rec ;
5766-
5767- appendStringInfo (buf , "inplace: " );
5768- out_target (buf , & (xlrec -> target ));
5769- }
5770- else
5771- appendStringInfo (buf , "UNKNOWN" );
5772- }
5773-
5774- void
5775- heap2_desc (StringInfo buf , uint8 xl_info , char * rec )
5776- {
5777- uint8 info = xl_info & ~XLR_INFO_MASK ;
5778-
5779- info &= XLOG_HEAP_OPMASK ;
5780- if (info == XLOG_HEAP2_FREEZE )
5781- {
5782- xl_heap_freeze * xlrec = (xl_heap_freeze * ) rec ;
5783-
5784- appendStringInfo (buf , "freeze: rel %u/%u/%u; blk %u; cutoff %u" ,
5785- xlrec -> node .spcNode , xlrec -> node .dbNode ,
5786- xlrec -> node .relNode , xlrec -> block ,
5787- xlrec -> cutoff_xid );
5788- }
5789- else if (info == XLOG_HEAP2_CLEAN )
5790- {
5791- xl_heap_clean * xlrec = (xl_heap_clean * ) rec ;
5792-
5793- appendStringInfo (buf , "clean: rel %u/%u/%u; blk %u remxid %u" ,
5794- xlrec -> node .spcNode , xlrec -> node .dbNode ,
5795- xlrec -> node .relNode , xlrec -> block ,
5796- xlrec -> latestRemovedXid );
5797- }
5798- else if (info == XLOG_HEAP2_CLEANUP_INFO )
5799- {
5800- xl_heap_cleanup_info * xlrec = (xl_heap_cleanup_info * ) rec ;
5801-
5802- appendStringInfo (buf , "cleanup info: remxid %u" ,
5803- xlrec -> latestRemovedXid );
5804- }
5805- else if (info == XLOG_HEAP2_VISIBLE )
5806- {
5807- xl_heap_visible * xlrec = (xl_heap_visible * ) rec ;
5808-
5809- appendStringInfo (buf , "visible: rel %u/%u/%u; blk %u" ,
5810- xlrec -> node .spcNode , xlrec -> node .dbNode ,
5811- xlrec -> node .relNode , xlrec -> block );
5812- }
5813- else if (info == XLOG_HEAP2_MULTI_INSERT )
5814- {
5815- xl_heap_multi_insert * xlrec = (xl_heap_multi_insert * ) rec ;
5816-
5817- if (xl_info & XLOG_HEAP_INIT_PAGE )
5818- appendStringInfo (buf , "multi-insert (init): " );
5819- else
5820- appendStringInfo (buf , "multi-insert: " );
5821- appendStringInfo (buf , "rel %u/%u/%u; blk %u; %d tuples" ,
5822- xlrec -> node .spcNode , xlrec -> node .dbNode , xlrec -> node .relNode ,
5823- xlrec -> blkno , xlrec -> ntuples );
5824- }
5825- else
5826- appendStringInfo (buf , "UNKNOWN" );
5827- }
5828-
58295681/*
58305682 * heap_sync - sync a heap, for use when no WAL has been written
58315683 *
0 commit comments