@ -158,8 +158,8 @@ typedef struct
/* Local functions */
/* Local functions */
static void prune_freeze_setup ( PruneFreezeParams * params ,
static void prune_freeze_setup ( PruneFreezeParams * params ,
TransactionId new_relfrozen_xid ,
TransactionId * new_relfrozen_xid ,
MultiXactId new_relmin_mxid ,
MultiXactId * new_relmin_mxid ,
const PruneFreezeResult * presult ,
const PruneFreezeResult * presult ,
PruneState * prstate ) ;
PruneState * prstate ) ;
static void prune_freeze_plan ( Oid reloid , Buffer buffer ,
static void prune_freeze_plan ( Oid reloid , Buffer buffer ,
@ -325,8 +325,8 @@ heap_page_prune_opt(Relation relation, Buffer buffer)
*/
*/
static void
static void
prune_freeze_setup ( PruneFreezeParams * params ,
prune_freeze_setup ( PruneFreezeParams * params ,
TransactionId new_relfrozen_xid ,
TransactionId * new_relfrozen_xid ,
MultiXactId new_relmin_mxid ,
MultiXactId * new_relmin_mxid ,
const PruneFreezeResult * presult ,
const PruneFreezeResult * presult ,
PruneState * prstate )
PruneState * prstate )
{
{
@ -362,15 +362,15 @@ prune_freeze_setup(PruneFreezeParams *params,
prstate - > pagefrz . freeze_required = false ;
prstate - > pagefrz . freeze_required = false ;
if ( prstate - > attempt_freeze )
if ( prstate - > attempt_freeze )
{
{
prstate - > pagefrz . FreezePageRelfrozenXid = new_relfrozen_xid ;
Assert ( new_relfrozen_xid & & new_relmin_mxid ) ;
prstate - > pagefrz . NoFreezePageRelfrozenXid = new_relfrozen_xid ;
prstate - > pagefrz . FreezePageRelfrozenXid = * new_relfrozen_xid ;
prstate - > pagefrz . FreezePageRelminMxid = new_relmin_mxid ;
prstate - > pagefrz . NoFreezePageRelfrozenXid = * new_relfrozen_xid ;
prstate - > pagefrz . NoFreezePageRelminMxid = new_relmin_mxid ;
prstate - > pagefrz . FreezePageRelminMxid = * new_relmin_mxid ;
prstate - > pagefrz . NoFreezePageRelminMxid = * new_relmin_mxid ;
}
}
else
else
{
{
Assert ( new_relfrozen_xid = = InvalidTransactionId & &
Assert ( ! new_relfrozen_xid & & ! new_relmin_mxid ) ;
new_relmin_mxid = = InvalidMultiXactId ) ;
prstate - > pagefrz . FreezePageRelminMxid = InvalidMultiXactId ;
prstate - > pagefrz . FreezePageRelminMxid = InvalidMultiXactId ;
prstate - > pagefrz . NoFreezePageRelminMxid = InvalidMultiXactId ;
prstate - > pagefrz . NoFreezePageRelminMxid = InvalidMultiXactId ;
prstate - > pagefrz . FreezePageRelfrozenXid = InvalidTransactionId ;
prstate - > pagefrz . FreezePageRelfrozenXid = InvalidTransactionId ;
@ -823,12 +823,8 @@ heap_page_prune_and_freeze(PruneFreezeParams *params,
/* Initialize prstate */
/* Initialize prstate */
prune_freeze_setup ( params ,
prune_freeze_setup ( params ,
new_relfrozen_xid ?
new_relfrozen_xid , new_relmin_mxid ,
* new_relfrozen_xid : InvalidTransactionId ,
presult , & prstate ) ;
new_relmin_mxid ?
* new_relmin_mxid : InvalidMultiXactId ,
presult ,
& prstate ) ;
/*
/*
* Examine all line pointers and tuple visibility information to determine
* Examine all line pointers and tuple visibility information to determine