mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Split out rmgr rm_desc functions into their own files
This is necessary (but not sufficient) to have them compilable outside of a backend environment.
This commit is contained in:
@ -787,54 +787,6 @@ standby_redo(XLogRecPtr lsn, XLogRecord *record)
|
||||
elog(PANIC, "standby_redo: unknown op code %u", info);
|
||||
}
|
||||
|
||||
static void
|
||||
standby_desc_running_xacts(StringInfo buf, xl_running_xacts *xlrec)
|
||||
{
|
||||
int i;
|
||||
|
||||
appendStringInfo(buf, " nextXid %u latestCompletedXid %u oldestRunningXid %u",
|
||||
xlrec->nextXid,
|
||||
xlrec->latestCompletedXid,
|
||||
xlrec->oldestRunningXid);
|
||||
if (xlrec->xcnt > 0)
|
||||
{
|
||||
appendStringInfo(buf, "; %d xacts:", xlrec->xcnt);
|
||||
for (i = 0; i < xlrec->xcnt; i++)
|
||||
appendStringInfo(buf, " %u", xlrec->xids[i]);
|
||||
}
|
||||
|
||||
if (xlrec->subxid_overflow)
|
||||
appendStringInfo(buf, "; subxid ovf");
|
||||
}
|
||||
|
||||
void
|
||||
standby_desc(StringInfo buf, uint8 xl_info, char *rec)
|
||||
{
|
||||
uint8 info = xl_info & ~XLR_INFO_MASK;
|
||||
|
||||
if (info == XLOG_STANDBY_LOCK)
|
||||
{
|
||||
xl_standby_locks *xlrec = (xl_standby_locks *) rec;
|
||||
int i;
|
||||
|
||||
appendStringInfo(buf, "AccessExclusive locks:");
|
||||
|
||||
for (i = 0; i < xlrec->nlocks; i++)
|
||||
appendStringInfo(buf, " xid %u db %u rel %u",
|
||||
xlrec->locks[i].xid, xlrec->locks[i].dbOid,
|
||||
xlrec->locks[i].relOid);
|
||||
}
|
||||
else if (info == XLOG_RUNNING_XACTS)
|
||||
{
|
||||
xl_running_xacts *xlrec = (xl_running_xacts *) rec;
|
||||
|
||||
appendStringInfo(buf, " running xacts:");
|
||||
standby_desc_running_xacts(buf, xlrec);
|
||||
}
|
||||
else
|
||||
appendStringInfo(buf, "UNKNOWN");
|
||||
}
|
||||
|
||||
/*
|
||||
* Log details of the current snapshot to WAL. This allows the snapshot state
|
||||
* to be reconstructed on the standby.
|
||||
|
Reference in New Issue
Block a user