7
7
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
8
8
* Portions Copyright (c) 1994, Regents of the University of California
9
9
*
10
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.75 2001/08/25 18:52:41 tgl Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.76 2001/09/06 02:02:48 tgl Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -760,7 +760,7 @@ begin:;
760
760
{
761
761
char buf [8192 ];
762
762
763
- sprintf (buf , "INSERT @ %u/%u : " , RecPtr .xlogid , RecPtr .xrecoff );
763
+ sprintf (buf , "INSERT @ %X/%X : " , RecPtr .xlogid , RecPtr .xrecoff );
764
764
xlog_outrec (buf , record );
765
765
if (rdata -> data != NULL )
766
766
{
@@ -1012,7 +1012,10 @@ XLogWrite(XLogwrtRqst WriteRqst)
1012
1012
* AdvanceXLInsertBuffer.
1013
1013
*/
1014
1014
if (!XLByteLT (LogwrtResult .Write , XLogCtl -> xlblocks [Write -> curridx ]))
1015
- elog (STOP , "XLogWrite: write request is past end of log" );
1015
+ elog (STOP , "XLogWrite: write request %X/%X is past end of log %X/%X" ,
1016
+ LogwrtResult .Write .xlogid , LogwrtResult .Write .xrecoff ,
1017
+ XLogCtl -> xlblocks [Write -> curridx ].xlogid ,
1018
+ XLogCtl -> xlblocks [Write -> curridx ].xrecoff );
1016
1019
1017
1020
/* Advance LogwrtResult.Write to end of current buffer page */
1018
1021
LogwrtResult .Write = XLogCtl -> xlblocks [Write -> curridx ];
@@ -1190,7 +1193,7 @@ XLogFlush(XLogRecPtr record)
1190
1193
1191
1194
if (XLOG_DEBUG )
1192
1195
{
1193
- elog (DEBUG , "XLogFlush%s%s: request %u/%u ; write %u/%u ; flush %u/%u \n" ,
1196
+ elog (DEBUG , "XLogFlush%s%s: request %X/%X ; write %X/%X ; flush %X/%X \n" ,
1194
1197
(IsBootstrapProcessingMode ()) ? "(bootstrap)" : "" ,
1195
1198
(InRedo ) ? "(redo)" : "" ,
1196
1199
record .xlogid , record .xrecoff ,
@@ -1266,7 +1269,9 @@ XLogFlush(XLogRecPtr record)
1266
1269
XLogWrite (WriteRqst );
1267
1270
S_UNLOCK (& (XLogCtl -> logwrt_lck ));
1268
1271
if (XLByteLT (LogwrtResult .Flush , record ))
1269
- elog (STOP , "XLogFlush: request is not satisfied" );
1272
+ elog (STOP , "XLogFlush: request %X/%X is not satisfied --- flushed only to %X/%X" ,
1273
+ record .xlogid , record .xrecoff ,
1274
+ LogwrtResult .Flush .xlogid , LogwrtResult .Flush .xrecoff );
1270
1275
break ;
1271
1276
}
1272
1277
S_LOCK_SLEEP (& (XLogCtl -> logwrt_lck ), spins ++ , XLOG_LOCK_TIMEOUT );
@@ -1688,7 +1693,7 @@ RecordIsValid(XLogRecord *record, XLogRecPtr recptr, int emode)
1688
1693
1689
1694
if (!EQ_CRC64 (record -> xl_crc , crc ))
1690
1695
{
1691
- elog (emode , "ReadRecord: bad resource manager data checksum in record at %u/%u " ,
1696
+ elog (emode , "ReadRecord: bad resource manager data checksum in record at %X/%X " ,
1692
1697
recptr .xlogid , recptr .xrecoff );
1693
1698
return (false);
1694
1699
}
@@ -1710,7 +1715,7 @@ RecordIsValid(XLogRecord *record, XLogRecPtr recptr, int emode)
1710
1715
1711
1716
if (!EQ_CRC64 (cbuf , crc ))
1712
1717
{
1713
- elog (emode , "ReadRecord: bad checksum of backup block %d in record at %u/%u " ,
1718
+ elog (emode , "ReadRecord: bad checksum of backup block %d in record at %X/%X " ,
1714
1719
i + 1 , recptr .xlogid , recptr .xrecoff );
1715
1720
return (false);
1716
1721
}
@@ -1780,7 +1785,7 @@ ReadRecord(XLogRecPtr *RecPtr, int emode, char *buffer)
1780
1785
tmpRecPtr .xrecoff += SizeOfXLogPHD ;
1781
1786
}
1782
1787
else if (!XRecOffIsValid (RecPtr -> xrecoff ))
1783
- elog (STOP , "ReadRecord: invalid record offset at (%u, %u) " ,
1788
+ elog (STOP , "ReadRecord: invalid record offset at %X/%X " ,
1784
1789
RecPtr -> xlogid , RecPtr -> xrecoff );
1785
1790
1786
1791
if (readFile >= 0 && !XLByteInSeg (* RecPtr , readId , readSeg ))
@@ -1819,7 +1824,7 @@ ReadRecord(XLogRecPtr *RecPtr, int emode, char *buffer)
1819
1824
if ((((XLogPageHeader ) readBuf )-> xlp_info & XLP_FIRST_IS_CONTRECORD ) &&
1820
1825
RecPtr -> xrecoff % BLCKSZ == SizeOfXLogPHD )
1821
1826
{
1822
- elog (emode , "ReadRecord: contrecord is requested by (%u, %u) " ,
1827
+ elog (emode , "ReadRecord: contrecord is requested by %X/%X " ,
1823
1828
RecPtr -> xlogid , RecPtr -> xrecoff );
1824
1829
goto next_record_is_invalid ;
1825
1830
}
@@ -1833,7 +1838,7 @@ got_record:;
1833
1838
*/
1834
1839
if (record -> xl_len == 0 )
1835
1840
{
1836
- elog (emode , "ReadRecord: record with zero length at (%u, %u) " ,
1841
+ elog (emode , "ReadRecord: record with zero length at %X/%X " ,
1837
1842
RecPtr -> xlogid , RecPtr -> xrecoff );
1838
1843
goto next_record_is_invalid ;
1839
1844
}
@@ -1857,13 +1862,13 @@ got_record:;
1857
1862
*/
1858
1863
if (total_len > _INTL_MAXLOGRECSZ )
1859
1864
{
1860
- elog (emode , "ReadRecord: record length %u at (%u, %u) too long" ,
1865
+ elog (emode , "ReadRecord: record length %u at %X/%X too long" ,
1861
1866
total_len , RecPtr -> xlogid , RecPtr -> xrecoff );
1862
1867
goto next_record_is_invalid ;
1863
1868
}
1864
1869
if (record -> xl_rmid > RM_MAX_ID )
1865
1870
{
1866
- elog (emode , "ReadRecord: invalid resource manager id %u at (%u, %u) " ,
1871
+ elog (emode , "ReadRecord: invalid resource manager id %u at %X/%X " ,
1867
1872
record -> xl_rmid , RecPtr -> xlogid , RecPtr -> xrecoff );
1868
1873
goto next_record_is_invalid ;
1869
1874
}
@@ -1987,7 +1992,7 @@ ValidXLOGHeader(XLogPageHeader hdr, int emode, bool checkSUI)
1987
1992
recaddr .xrecoff = readSeg * XLogSegSize + readOff ;
1988
1993
if (!XLByteEQ (hdr -> xlp_pageaddr , recaddr ))
1989
1994
{
1990
- elog (emode , "ReadRecord: unexpected pageaddr (%u, %u) in log file %u, segment %u, offset %u" ,
1995
+ elog (emode , "ReadRecord: unexpected pageaddr %X/%X in log file %u, segment %u, offset %u" ,
1991
1996
hdr -> xlp_pageaddr .xlogid , hdr -> xlp_pageaddr .xrecoff ,
1992
1997
readId , readSeg , readOff );
1993
1998
return false;
@@ -2486,7 +2491,7 @@ StartupXLOG(void)
2486
2491
if (record != NULL )
2487
2492
{
2488
2493
checkPointLoc = ControlFile -> checkPoint ;
2489
- elog (LOG , "checkpoint record is at (%u, %u) " ,
2494
+ elog (LOG , "checkpoint record is at %X/%X " ,
2490
2495
checkPointLoc .xlogid , checkPointLoc .xrecoff );
2491
2496
}
2492
2497
else
@@ -2495,7 +2500,7 @@ StartupXLOG(void)
2495
2500
if (record != NULL )
2496
2501
{
2497
2502
checkPointLoc = ControlFile -> prevCheckPoint ;
2498
- elog (LOG , "using previous checkpoint record at (%u, %u) " ,
2503
+ elog (LOG , "using previous checkpoint record at %X/%X " ,
2499
2504
checkPointLoc .xlogid , checkPointLoc .xrecoff );
2500
2505
InRecovery = true; /* force recovery even if SHUTDOWNED */
2501
2506
}
@@ -2506,7 +2511,7 @@ StartupXLOG(void)
2506
2511
memcpy (& checkPoint , XLogRecGetData (record ), sizeof (CheckPoint ));
2507
2512
wasShutdown = (record -> xl_info == XLOG_CHECKPOINT_SHUTDOWN );
2508
2513
2509
- elog (LOG , "redo record is at (%u, %u) ; undo record is at (%u, %u) ; shutdown %s" ,
2514
+ elog (LOG , "redo record is at %X/%X ; undo record is at %X/%X ; shutdown %s" ,
2510
2515
checkPoint .redo .xlogid , checkPoint .redo .xrecoff ,
2511
2516
checkPoint .undo .xlogid , checkPoint .undo .xrecoff ,
2512
2517
wasShutdown ? "TRUE" : "FALSE" );
@@ -2561,7 +2566,7 @@ StartupXLOG(void)
2561
2566
if (record != NULL )
2562
2567
{
2563
2568
InRedo = true;
2564
- elog (LOG , "redo starts at (%u, %u) " ,
2569
+ elog (LOG , "redo starts at %X/%X " ,
2565
2570
ReadRecPtr .xlogid , ReadRecPtr .xrecoff );
2566
2571
do
2567
2572
{
@@ -2576,7 +2581,7 @@ StartupXLOG(void)
2576
2581
{
2577
2582
char buf [8192 ];
2578
2583
2579
- sprintf (buf , "REDO @ %u/%u ; LSN %u/%u : " ,
2584
+ sprintf (buf , "REDO @ %X/%X ; LSN %X/%X : " ,
2580
2585
ReadRecPtr .xlogid , ReadRecPtr .xrecoff ,
2581
2586
EndRecPtr .xlogid , EndRecPtr .xrecoff );
2582
2587
xlog_outrec (buf , record );
@@ -2592,7 +2597,7 @@ StartupXLOG(void)
2592
2597
RmgrTable [record -> xl_rmid ].rm_redo (EndRecPtr , record );
2593
2598
record = ReadRecord (NULL , LOG , buffer );
2594
2599
} while (record != NULL );
2595
- elog (LOG , "redo done at (%u, %u) " ,
2600
+ elog (LOG , "redo done at %X/%X " ,
2596
2601
ReadRecPtr .xlogid , ReadRecPtr .xrecoff );
2597
2602
LastRec = ReadRecPtr ;
2598
2603
InRedo = false;
@@ -2681,7 +2686,7 @@ StartupXLOG(void)
2681
2686
RecPtr = ReadRecPtr ;
2682
2687
if (XLByteLT (checkPoint .undo , RecPtr ))
2683
2688
{
2684
- elog (LOG , "undo starts at (%u, %u) " ,
2689
+ elog (LOG , "undo starts at %X/%X " ,
2685
2690
RecPtr .xlogid , RecPtr .xrecoff );
2686
2691
do
2687
2692
{
@@ -2691,7 +2696,7 @@ StartupXLOG(void)
2691
2696
RmgrTable [record -> xl_rmid ].rm_undo (EndRecPtr , record );
2692
2697
RecPtr = record -> xl_prev ;
2693
2698
} while (XLByteLE (checkPoint .undo , RecPtr ));
2694
- elog (LOG , "undo done at (%u, %u) " ,
2699
+ elog (LOG , "undo done at %X/%X " ,
2695
2700
ReadRecPtr .xlogid , ReadRecPtr .xrecoff );
2696
2701
}
2697
2702
else
@@ -3144,7 +3149,7 @@ xlog_desc(char *buf, uint8 xl_info, char *rec)
3144
3149
{
3145
3150
CheckPoint * checkpoint = (CheckPoint * ) rec ;
3146
3151
3147
- sprintf (buf + strlen (buf ), "checkpoint: redo %u/%u ; undo %u/%u ; "
3152
+ sprintf (buf + strlen (buf ), "checkpoint: redo %X/%X ; undo %X/%X ; "
3148
3153
"sui %u; xid %u; oid %u; %s" ,
3149
3154
checkpoint -> redo .xlogid , checkpoint -> redo .xrecoff ,
3150
3155
checkpoint -> undo .xlogid , checkpoint -> undo .xrecoff ,
@@ -3169,7 +3174,7 @@ xlog_outrec(char *buf, XLogRecord *record)
3169
3174
int bkpb ;
3170
3175
int i ;
3171
3176
3172
- sprintf (buf + strlen (buf ), "prev %u/%u ; xprev %u/%u ; xid %u" ,
3177
+ sprintf (buf + strlen (buf ), "prev %X/%X ; xprev %X/%X ; xid %u" ,
3173
3178
record -> xl_prev .xlogid , record -> xl_prev .xrecoff ,
3174
3179
record -> xl_xact_prev .xlogid , record -> xl_xact_prev .xrecoff ,
3175
3180
record -> xl_xid );
0 commit comments