Change delimiter used for display of NextXID
NextXID has been rendered in the form of a pg_lsn even though it really is not. This can cause confusion, so change the format from %u/%u to %u:%u, per discussion on hackers. Complaint by me, patch by me and Bruce, reviewed by Michael Paquier and Alvaro. Applied to HEAD only. Author: Joe Conway, Bruce Momjian Reviewed-by: Michael Paquier, Alvaro Herrera Backpatch-through: master
This commit is contained in:
parent
e84e06d2b3
commit
59a884e985
|
@ -43,7 +43,7 @@ xlog_desc(StringInfo buf, XLogReaderState *record)
|
|||
CheckPoint *checkpoint = (CheckPoint *) rec;
|
||||
|
||||
appendStringInfo(buf, "redo %X/%X; "
|
||||
"tli %u; prev tli %u; fpw %s; xid %u/%u; oid %u; multi %u; offset %u; "
|
||||
"tli %u; prev tli %u; fpw %s; xid %u:%u; oid %u; multi %u; offset %u; "
|
||||
"oldest xid %u in DB %u; oldest multi %u in DB %u; "
|
||||
"oldest/newest commit timestamp xid: %u/%u; "
|
||||
"oldest running xid %u; %s",
|
||||
|
|
|
@ -6283,7 +6283,7 @@ StartupXLOG(void)
|
|||
(uint32) (checkPoint.redo >> 32), (uint32) checkPoint.redo,
|
||||
wasShutdown ? "TRUE" : "FALSE")));
|
||||
ereport(DEBUG1,
|
||||
(errmsg_internal("next transaction ID: %u/%u; next OID: %u",
|
||||
(errmsg_internal("next transaction ID: %u:%u; next OID: %u",
|
||||
checkPoint.nextXidEpoch, checkPoint.nextXid,
|
||||
checkPoint.nextOid)));
|
||||
ereport(DEBUG1,
|
||||
|
|
|
@ -252,7 +252,7 @@ main(int argc, char *argv[])
|
|||
ControlFile.checkPointCopy.PrevTimeLineID);
|
||||
printf(_("Latest checkpoint's full_page_writes: %s\n"),
|
||||
ControlFile.checkPointCopy.fullPageWrites ? _("on") : _("off"));
|
||||
printf(_("Latest checkpoint's NextXID: %u/%u\n"),
|
||||
printf(_("Latest checkpoint's NextXID: %u:%u\n"),
|
||||
ControlFile.checkPointCopy.nextXidEpoch,
|
||||
ControlFile.checkPointCopy.nextXid);
|
||||
printf(_("Latest checkpoint's NextOID: %u\n"),
|
||||
|
|
|
@ -646,7 +646,7 @@ PrintControlValues(bool guessed)
|
|||
ControlFile.checkPointCopy.ThisTimeLineID);
|
||||
printf(_("Latest checkpoint's full_page_writes: %s\n"),
|
||||
ControlFile.checkPointCopy.fullPageWrites ? _("on") : _("off"));
|
||||
printf(_("Latest checkpoint's NextXID: %u/%u\n"),
|
||||
printf(_("Latest checkpoint's NextXID: %u:%u\n"),
|
||||
ControlFile.checkPointCopy.nextXidEpoch,
|
||||
ControlFile.checkPointCopy.nextXid);
|
||||
printf(_("Latest checkpoint's NextOID: %u\n"),
|
||||
|
|
|
@ -197,11 +197,18 @@ get_control_data(ClusterInfo *cluster, bool live_check)
|
|||
p++; /* remove ':' char */
|
||||
cluster->controldata.chkpnt_nxtepoch = str2uint(p);
|
||||
|
||||
p = strchr(p, '/');
|
||||
if (strchr(p, '/') != NULL)
|
||||
p = strchr(p, '/');
|
||||
/* delimiter changed from '/' to ':' in 9.6 */
|
||||
else if (GET_MAJOR_VERSION(cluster->major_version) >= 906)
|
||||
p = strchr(p, ':');
|
||||
else
|
||||
p = NULL;
|
||||
|
||||
if (p == NULL || strlen(p) <= 1)
|
||||
pg_fatal("%d: controldata retrieval problem\n", __LINE__);
|
||||
|
||||
p++; /* remove '/' char */
|
||||
p++; /* remove '/' or ':' char */
|
||||
cluster->controldata.chkpnt_nxtxid = str2uint(p);
|
||||
got_xid = true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue