Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 241448b

Browse files
committed
Rename (new|old)estCommitTs to (new|old)estCommitTsXid
The variables newestCommitTs and oldestCommitTs sound as if they are timestamps, but in fact they are the transaction Ids that correspond to the newest and oldest timestamps rather than the actual timestamps. Rename these variables to reflect that they are actually xids: to wit newestCommitTsXid and oldestCommitTsXid respectively. Also modify related code in a similar fashion, particularly the user facing output emitted by pg_controldata and pg_resetxlog. Complaint and patch by me, review by Tom Lane and Alvaro Herrera. Backpatch to 9.5 where these variables were first introduced.
1 parent 81ee726 commit 241448b

File tree

9 files changed

+68
-68
lines changed

9 files changed

+68
-68
lines changed

src/backend/access/rmgrdesc/xlogdesc.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ xlog_desc(StringInfo buf, XLogReaderState *record)
5959
checkpoint->oldestXidDB,
6060
checkpoint->oldestMulti,
6161
checkpoint->oldestMultiDB,
62-
checkpoint->oldestCommitTs,
63-
checkpoint->newestCommitTs,
62+
checkpoint->oldestCommitTsXid,
63+
checkpoint->newestCommitTsXid,
6464
checkpoint->oldestActiveXid,
6565
(info == XLOG_CHECKPOINT_SHUTDOWN) ? "shutdown" : "online");
6666
}

src/backend/access/transam/commit_ts.c

+26-26
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,
217217
commitTsShared->dataLastCommit.nodeid = nodeid;
218218

219219
/* and move forwards our endpoint, if needed */
220-
if (TransactionIdPrecedes(ShmemVariableCache->newestCommitTs, newestXact))
221-
ShmemVariableCache->newestCommitTs = newestXact;
220+
if (TransactionIdPrecedes(ShmemVariableCache->newestCommitTsXid, newestXact))
221+
ShmemVariableCache->newestCommitTsXid = newestXact;
222222
LWLockRelease(CommitTsLock);
223223
}
224224

@@ -285,8 +285,8 @@ TransactionIdGetCommitTsData(TransactionId xid, TimestampTz *ts,
285285
int entryno = TransactionIdToCTsEntry(xid);
286286
int slotno;
287287
CommitTimestampEntry entry;
288-
TransactionId oldestCommitTs;
289-
TransactionId newestCommitTs;
288+
TransactionId oldestCommitTsXid;
289+
TransactionId newestCommitTsXid;
290290

291291
/* error if the given Xid doesn't normally commit */
292292
if (!TransactionIdIsNormal(xid))
@@ -314,18 +314,18 @@ TransactionIdGetCommitTsData(TransactionId xid, TimestampTz *ts,
314314
return *ts != 0;
315315
}
316316

317-
oldestCommitTs = ShmemVariableCache->oldestCommitTs;
318-
newestCommitTs = ShmemVariableCache->newestCommitTs;
317+
oldestCommitTsXid = ShmemVariableCache->oldestCommitTsXid;
318+
newestCommitTsXid = ShmemVariableCache->newestCommitTsXid;
319319
/* neither is invalid, or both are */
320-
Assert(TransactionIdIsValid(oldestCommitTs) == TransactionIdIsValid(newestCommitTs));
320+
Assert(TransactionIdIsValid(oldestCommitTsXid) == TransactionIdIsValid(newestCommitTsXid));
321321
LWLockRelease(CommitTsLock);
322322

323323
/*
324324
* Return empty if the requested value is outside our valid range.
325325
*/
326-
if (!TransactionIdIsValid(oldestCommitTs) ||
327-
TransactionIdPrecedes(xid, oldestCommitTs) ||
328-
TransactionIdPrecedes(newestCommitTs, xid))
326+
if (!TransactionIdIsValid(oldestCommitTsXid) ||
327+
TransactionIdPrecedes(xid, oldestCommitTsXid) ||
328+
TransactionIdPrecedes(newestCommitTsXid, xid))
329329
{
330330
*ts = 0;
331331
if (nodeid)
@@ -655,14 +655,14 @@ ActivateCommitTs(void)
655655
* enabled again? It doesn't look like it does, because there should be a
656656
* checkpoint that sets the value to InvalidTransactionId at end of
657657
* recovery; and so any chance of injecting new transactions without
658-
* CommitTs values would occur after the oldestCommitTs has been set to
658+
* CommitTs values would occur after the oldestCommitTsXid has been set to
659659
* Invalid temporarily.
660660
*/
661661
LWLockAcquire(CommitTsLock, LW_EXCLUSIVE);
662-
if (ShmemVariableCache->oldestCommitTs == InvalidTransactionId)
662+
if (ShmemVariableCache->oldestCommitTsXid == InvalidTransactionId)
663663
{
664-
ShmemVariableCache->oldestCommitTs =
665-
ShmemVariableCache->newestCommitTs = ReadNewTransactionId();
664+
ShmemVariableCache->oldestCommitTsXid =
665+
ShmemVariableCache->newestCommitTsXid = ReadNewTransactionId();
666666
}
667667
LWLockRelease(CommitTsLock);
668668

@@ -711,8 +711,8 @@ DeactivateCommitTs(void)
711711
TIMESTAMP_NOBEGIN(commitTsShared->dataLastCommit.time);
712712
commitTsShared->dataLastCommit.nodeid = InvalidRepOriginId;
713713

714-
ShmemVariableCache->oldestCommitTs = InvalidTransactionId;
715-
ShmemVariableCache->newestCommitTs = InvalidTransactionId;
714+
ShmemVariableCache->oldestCommitTsXid = InvalidTransactionId;
715+
ShmemVariableCache->newestCommitTsXid = InvalidTransactionId;
716716

717717
LWLockRelease(CommitTsLock);
718718

@@ -832,16 +832,16 @@ SetCommitTsLimit(TransactionId oldestXact, TransactionId newestXact)
832832
* "future" or signal a disabled committs.
833833
*/
834834
LWLockAcquire(CommitTsLock, LW_EXCLUSIVE);
835-
if (ShmemVariableCache->oldestCommitTs != InvalidTransactionId)
835+
if (ShmemVariableCache->oldestCommitTsXid != InvalidTransactionId)
836836
{
837-
if (TransactionIdPrecedes(ShmemVariableCache->oldestCommitTs, oldestXact))
838-
ShmemVariableCache->oldestCommitTs = oldestXact;
839-
if (TransactionIdPrecedes(newestXact, ShmemVariableCache->newestCommitTs))
840-
ShmemVariableCache->newestCommitTs = newestXact;
837+
if (TransactionIdPrecedes(ShmemVariableCache->oldestCommitTsXid, oldestXact))
838+
ShmemVariableCache->oldestCommitTsXid = oldestXact;
839+
if (TransactionIdPrecedes(newestXact, ShmemVariableCache->newestCommitTsXid))
840+
ShmemVariableCache->newestCommitTsXid = newestXact;
841841
}
842842
else
843843
{
844-
Assert(ShmemVariableCache->newestCommitTs == InvalidTransactionId);
844+
Assert(ShmemVariableCache->newestCommitTsXid == InvalidTransactionId);
845845
}
846846
LWLockRelease(CommitTsLock);
847847
}
@@ -850,12 +850,12 @@ SetCommitTsLimit(TransactionId oldestXact, TransactionId newestXact)
850850
* Move forwards the oldest commitTS value that can be consulted
851851
*/
852852
void
853-
AdvanceOldestCommitTs(TransactionId oldestXact)
853+
AdvanceOldestCommitTsXid(TransactionId oldestXact)
854854
{
855855
LWLockAcquire(CommitTsLock, LW_EXCLUSIVE);
856-
if (ShmemVariableCache->oldestCommitTs != InvalidTransactionId &&
857-
TransactionIdPrecedes(ShmemVariableCache->oldestCommitTs, oldestXact))
858-
ShmemVariableCache->oldestCommitTs = oldestXact;
856+
if (ShmemVariableCache->oldestCommitTsXid != InvalidTransactionId &&
857+
TransactionIdPrecedes(ShmemVariableCache->oldestCommitTsXid, oldestXact))
858+
ShmemVariableCache->oldestCommitTsXid = oldestXact;
859859
LWLockRelease(CommitTsLock);
860860
}
861861

src/backend/access/transam/xlog.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -4782,8 +4782,8 @@ BootStrapXLOG(void)
47824782
checkPoint.oldestXidDB = TemplateDbOid;
47834783
checkPoint.oldestMulti = FirstMultiXactId;
47844784
checkPoint.oldestMultiDB = TemplateDbOid;
4785-
checkPoint.oldestCommitTs = InvalidTransactionId;
4786-
checkPoint.newestCommitTs = InvalidTransactionId;
4785+
checkPoint.oldestCommitTsXid = InvalidTransactionId;
4786+
checkPoint.newestCommitTsXid = InvalidTransactionId;
47874787
checkPoint.time = (pg_time_t) time(NULL);
47884788
checkPoint.oldestActiveXid = InvalidTransactionId;
47894789

@@ -6298,8 +6298,8 @@ StartupXLOG(void)
62986298
checkPoint.oldestMulti, checkPoint.oldestMultiDB)));
62996299
ereport(DEBUG1,
63006300
(errmsg_internal("commit timestamp Xid oldest/newest: %u/%u",
6301-
checkPoint.oldestCommitTs,
6302-
checkPoint.newestCommitTs)));
6301+
checkPoint.oldestCommitTsXid,
6302+
checkPoint.newestCommitTsXid)));
63036303
if (!TransactionIdIsNormal(checkPoint.nextXid))
63046304
ereport(PANIC,
63056305
(errmsg("invalid next transaction ID")));
@@ -6311,8 +6311,8 @@ StartupXLOG(void)
63116311
MultiXactSetNextMXact(checkPoint.nextMulti, checkPoint.nextMultiOffset);
63126312
SetTransactionIdLimit(checkPoint.oldestXid, checkPoint.oldestXidDB);
63136313
SetMultiXactIdLimit(checkPoint.oldestMulti, checkPoint.oldestMultiDB);
6314-
SetCommitTsLimit(checkPoint.oldestCommitTs,
6315-
checkPoint.newestCommitTs);
6314+
SetCommitTsLimit(checkPoint.oldestCommitTsXid,
6315+
checkPoint.newestCommitTsXid);
63166316
XLogCtl->ckptXidEpoch = checkPoint.nextXidEpoch;
63176317
XLogCtl->ckptXid = checkPoint.nextXid;
63186318

@@ -8330,8 +8330,8 @@ CreateCheckPoint(int flags)
83308330
LWLockRelease(XidGenLock);
83318331

83328332
LWLockAcquire(CommitTsLock, LW_SHARED);
8333-
checkPoint.oldestCommitTs = ShmemVariableCache->oldestCommitTs;
8334-
checkPoint.newestCommitTs = ShmemVariableCache->newestCommitTs;
8333+
checkPoint.oldestCommitTsXid = ShmemVariableCache->oldestCommitTsXid;
8334+
checkPoint.newestCommitTsXid = ShmemVariableCache->newestCommitTsXid;
83358335
LWLockRelease(CommitTsLock);
83368336

83378337
/* Increase XID epoch if we've wrapped around since last checkpoint */

src/backend/commands/vacuum.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,7 @@ vac_truncate_clog(TransactionId frozenXID,
11511151
*/
11521152
SetTransactionIdLimit(frozenXID, oldestxid_datoid);
11531153
SetMultiXactIdLimit(minMulti, minmulti_datoid);
1154-
AdvanceOldestCommitTs(frozenXID);
1154+
AdvanceOldestCommitTsXid(frozenXID);
11551155
}
11561156

11571157

src/bin/pg_controldata/pg_controldata.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -271,10 +271,10 @@ main(int argc, char *argv[])
271271
ControlFile.checkPointCopy.oldestMulti);
272272
printf(_("Latest checkpoint's oldestMulti's DB: %u\n"),
273273
ControlFile.checkPointCopy.oldestMultiDB);
274-
printf(_("Latest checkpoint's oldestCommitTs: %u\n"),
275-
ControlFile.checkPointCopy.oldestCommitTs);
276-
printf(_("Latest checkpoint's newestCommitTs: %u\n"),
277-
ControlFile.checkPointCopy.newestCommitTs);
274+
printf(_("Latest checkpoint's oldestCommitTsXid:%u\n"),
275+
ControlFile.checkPointCopy.oldestCommitTsXid);
276+
printf(_("Latest checkpoint's newestCommitTsXid:%u\n"),
277+
ControlFile.checkPointCopy.newestCommitTsXid);
278278
printf(_("Time of latest checkpoint: %s\n"),
279279
ckpttime_str);
280280
printf(_("Fake LSN counter for unlogged rels: %X/%X\n"),

src/bin/pg_resetxlog/pg_resetxlog.c

+22-22
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ static bool guessed = false; /* T if we had to guess at any values */
6464
static const char *progname;
6565
static uint32 set_xid_epoch = (uint32) -1;
6666
static TransactionId set_xid = 0;
67-
static TransactionId set_oldest_commit_ts = 0;
68-
static TransactionId set_newest_commit_ts = 0;
67+
static TransactionId set_oldest_commit_ts_xid = 0;
68+
static TransactionId set_newest_commit_ts_xid = 0;
6969
static Oid set_oid = 0;
7070
static MultiXactId set_mxid = 0;
7171
static MultiXactOffset set_mxoff = (MultiXactOffset) -1;
@@ -164,30 +164,30 @@ main(int argc, char *argv[])
164164
break;
165165

166166
case 'c':
167-
set_oldest_commit_ts = strtoul(optarg, &endptr, 0);
167+
set_oldest_commit_ts_xid = strtoul(optarg, &endptr, 0);
168168
if (endptr == optarg || *endptr != ',')
169169
{
170170
fprintf(stderr, _("%s: invalid argument for option %s\n"), progname, "-c");
171171
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
172172
exit(1);
173173
}
174-
set_newest_commit_ts = strtoul(endptr + 1, &endptr2, 0);
174+
set_newest_commit_ts_xid = strtoul(endptr + 1, &endptr2, 0);
175175
if (endptr2 == endptr + 1 || *endptr2 != '\0')
176176
{
177177
fprintf(stderr, _("%s: invalid argument for option %s\n"), progname, "-c");
178178
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
179179
exit(1);
180180
}
181181

182-
if (set_oldest_commit_ts < 2 &&
183-
set_oldest_commit_ts != 0)
182+
if (set_oldest_commit_ts_xid < 2 &&
183+
set_oldest_commit_ts_xid != 0)
184184
{
185185
fprintf(stderr, _("%s: transaction ID (-c) must be either 0 or greater than or equal to 2\n"), progname);
186186
exit(1);
187187
}
188188

189-
if (set_newest_commit_ts < 2 &&
190-
set_newest_commit_ts != 0)
189+
if (set_newest_commit_ts_xid < 2 &&
190+
set_newest_commit_ts_xid != 0)
191191
{
192192
fprintf(stderr, _("%s: transaction ID (-c) must be either 0 or greater than or equal to 2\n"), progname);
193193
exit(1);
@@ -383,10 +383,10 @@ main(int argc, char *argv[])
383383
ControlFile.checkPointCopy.oldestXidDB = InvalidOid;
384384
}
385385

386-
if (set_oldest_commit_ts != 0)
387-
ControlFile.checkPointCopy.oldestCommitTs = set_oldest_commit_ts;
388-
if (set_newest_commit_ts != 0)
389-
ControlFile.checkPointCopy.newestCommitTs = set_newest_commit_ts;
386+
if (set_oldest_commit_ts_xid != 0)
387+
ControlFile.checkPointCopy.oldestCommitTsXid = set_oldest_commit_ts_xid;
388+
if (set_newest_commit_ts_xid != 0)
389+
ControlFile.checkPointCopy.newestCommitTsXid = set_newest_commit_ts_xid;
390390

391391
if (set_oid != 0)
392392
ControlFile.checkPointCopy.nextOid = set_oid;
@@ -665,10 +665,10 @@ PrintControlValues(bool guessed)
665665
ControlFile.checkPointCopy.oldestMulti);
666666
printf(_("Latest checkpoint's oldestMulti's DB: %u\n"),
667667
ControlFile.checkPointCopy.oldestMultiDB);
668-
printf(_("Latest checkpoint's oldestCommitTs: %u\n"),
669-
ControlFile.checkPointCopy.oldestCommitTs);
670-
printf(_("Latest checkpoint's newestCommitTs: %u\n"),
671-
ControlFile.checkPointCopy.newestCommitTs);
668+
printf(_("Latest checkpoint's oldestCommitTsXid:%u\n"),
669+
ControlFile.checkPointCopy.oldestCommitTsXid);
670+
printf(_("Latest checkpoint's newestCommitTsXid:%u\n"),
671+
ControlFile.checkPointCopy.newestCommitTsXid);
672672
printf(_("Maximum data alignment: %u\n"),
673673
ControlFile.maxAlign);
674674
/* we don't print floatFormat since can't say much useful about it */
@@ -751,15 +751,15 @@ PrintNewControlValues(void)
751751
ControlFile.checkPointCopy.nextXidEpoch);
752752
}
753753

754-
if (set_oldest_commit_ts != 0)
754+
if (set_oldest_commit_ts_xid != 0)
755755
{
756-
printf(_("oldestCommitTs: %u\n"),
757-
ControlFile.checkPointCopy.oldestCommitTs);
756+
printf(_("oldestCommitTsXid: %u\n"),
757+
ControlFile.checkPointCopy.oldestCommitTsXid);
758758
}
759-
if (set_newest_commit_ts != 0)
759+
if (set_newest_commit_ts_xid != 0)
760760
{
761-
printf(_("newestCommitTs: %u\n"),
762-
ControlFile.checkPointCopy.newestCommitTs);
761+
printf(_("newestCommitTsXid: %u\n"),
762+
ControlFile.checkPointCopy.newestCommitTsXid);
763763
}
764764
}
765765

src/include/access/commit_ts.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ extern void ExtendCommitTs(TransactionId newestXact);
4343
extern void TruncateCommitTs(TransactionId oldestXact);
4444
extern void SetCommitTsLimit(TransactionId oldestXact,
4545
TransactionId newestXact);
46-
extern void AdvanceOldestCommitTs(TransactionId oldestXact);
46+
extern void AdvanceOldestCommitTsXid(TransactionId oldestXact);
4747

4848
/* XLOG stuff */
4949
#define COMMIT_TS_ZEROPAGE 0x00

src/include/access/transam.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ typedef struct VariableCacheData
126126
/*
127127
* These fields are protected by CommitTsLock
128128
*/
129-
TransactionId oldestCommitTs;
130-
TransactionId newestCommitTs;
129+
TransactionId oldestCommitTsXid;
130+
TransactionId newestCommitTsXid;
131131

132132
/*
133133
* These fields are protected by ProcArrayLock.

src/include/catalog/pg_control.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ typedef struct CheckPoint
4646
MultiXactId oldestMulti; /* cluster-wide minimum datminmxid */
4747
Oid oldestMultiDB; /* database with minimum datminmxid */
4848
pg_time_t time; /* time stamp of checkpoint */
49-
TransactionId oldestCommitTs; /* oldest Xid with valid commit
49+
TransactionId oldestCommitTsXid; /* oldest Xid with valid commit
5050
* timestamp */
51-
TransactionId newestCommitTs; /* newest Xid with valid commit
51+
TransactionId newestCommitTsXid; /* newest Xid with valid commit
5252
* timestamp */
5353

5454
/*

0 commit comments

Comments
 (0)