#include "postgres.h"
#include "storage/standby.h"
Go to the source code of this file.
Functions | |
static void | standby_desc_running_xacts (StringInfo buf, xl_running_xacts *xlrec) |
void | standby_desc (StringInfo buf, uint8 xl_info, char *rec) |
void standby_desc | ( | StringInfo | buf, | |
uint8 | xl_info, | |||
char * | rec | |||
) |
Definition at line 40 of file standbydesc.c.
References appendStringInfo(), xl_standby_lock::dbOid, i, xl_standby_locks::locks, xl_standby_locks::nlocks, xl_standby_lock::relOid, standby_desc_running_xacts(), xl_standby_lock::xid, XLOG_RUNNING_XACTS, and XLOG_STANDBY_LOCK.
{ 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"); }
static void standby_desc_running_xacts | ( | StringInfo | buf, | |
xl_running_xacts * | xlrec | |||
) | [static] |
Definition at line 20 of file standbydesc.c.
References appendStringInfo(), i, xl_running_xacts::latestCompletedXid, xl_running_xacts::nextXid, xl_running_xacts::oldestRunningXid, xl_running_xacts::subxid_overflow, xl_running_xacts::xcnt, and xl_running_xacts::xids.
Referenced by standby_desc().
{ 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"); }