Skip to content

Commit c9e2457

Browse files
committed
Fix more holes with SLRU code in need of int64 for segment numbers
This is a continuation of 3937cad, taking care of more areas I have managed to miss previously. Reported-by: Noah Misch Reviewed-by: Noah Misch Discussion: https://postgr.es/m/20240724130059.1f.nmisch@google.com Backpatch-through: 17
1 parent 0dcaea5 commit c9e2457

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/backend/access/transam/multixact.c

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3050,7 +3050,8 @@ PerformMembersTruncation(MultiXactOffset oldestOffset, MultiXactOffset newOldest
30503050
*/
30513051
while (segment != endsegment)
30523052
{
3053-
elog(DEBUG2, "truncating multixact members segment %x", segment);
3053+
elog(DEBUG2, "truncating multixact members segment %llx",
3054+
(unsigned long long) segment);
30543055
SlruDeleteSegment(MultiXactMemberCtl, segment);
30553056

30563057
/* move to next segment, handling wraparound correctly */
@@ -3201,14 +3202,14 @@ TruncateMultiXact(MultiXactId newOldestMulti, Oid newOldestMultiDB)
32013202
}
32023203

32033204
elog(DEBUG1, "performing multixact truncation: "
3204-
"offsets [%u, %u), offsets segments [%x, %x), "
3205-
"members [%u, %u), members segments [%x, %x)",
3205+
"offsets [%u, %u), offsets segments [%llx, %llx), "
3206+
"members [%u, %u), members segments [%llx, %llx)",
32063207
oldestMulti, newOldestMulti,
3207-
MultiXactIdToOffsetSegment(oldestMulti),
3208-
MultiXactIdToOffsetSegment(newOldestMulti),
3208+
(unsigned long long) MultiXactIdToOffsetSegment(oldestMulti),
3209+
(unsigned long long) MultiXactIdToOffsetSegment(newOldestMulti),
32093210
oldestOffset, newOldestOffset,
3210-
MXOffsetToMemberSegment(oldestOffset),
3211-
MXOffsetToMemberSegment(newOldestOffset));
3211+
(unsigned long long) MXOffsetToMemberSegment(oldestOffset),
3212+
(unsigned long long) MXOffsetToMemberSegment(newOldestOffset));
32123213

32133214
/*
32143215
* Do truncation, and the WAL logging of the truncation, in a critical
@@ -3461,14 +3462,14 @@ multixact_redo(XLogReaderState *record)
34613462
SizeOfMultiXactTruncate);
34623463

34633464
elog(DEBUG1, "replaying multixact truncation: "
3464-
"offsets [%u, %u), offsets segments [%x, %x), "
3465-
"members [%u, %u), members segments [%x, %x)",
3465+
"offsets [%u, %u), offsets segments [%llx, %llx), "
3466+
"members [%u, %u), members segments [%llx, %llx)",
34663467
xlrec.startTruncOff, xlrec.endTruncOff,
3467-
MultiXactIdToOffsetSegment(xlrec.startTruncOff),
3468-
MultiXactIdToOffsetSegment(xlrec.endTruncOff),
3468+
(unsigned long long) MultiXactIdToOffsetSegment(xlrec.startTruncOff),
3469+
(unsigned long long) MultiXactIdToOffsetSegment(xlrec.endTruncOff),
34693470
xlrec.startTruncMemb, xlrec.endTruncMemb,
3470-
MXOffsetToMemberSegment(xlrec.startTruncMemb),
3471-
MXOffsetToMemberSegment(xlrec.endTruncMemb));
3471+
(unsigned long long) MXOffsetToMemberSegment(xlrec.startTruncMemb),
3472+
(unsigned long long) MXOffsetToMemberSegment(xlrec.endTruncMemb));
34723473

34733474
/* should not be required, but more than cheap enough */
34743475
LWLockAcquire(MultiXactTruncationLock, LW_EXCLUSIVE);

0 commit comments

Comments
 (0)