|
|
@ -1360,6 +1360,16 @@ checkXLogConsistency(XLogReaderState *record) |
|
|
|
|
|
|
|
|
|
|
|
Assert(XLogRecHasBlockImage(record, block_id)); |
|
|
|
Assert(XLogRecHasBlockImage(record, block_id)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (XLogRecBlockImageApply(record, block_id)) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
* WAL record has already applied the page, so bypass the |
|
|
|
|
|
|
|
* consistency check as that would result in comparing the full |
|
|
|
|
|
|
|
* page stored in the record with itself. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Read the contents from the current buffer and store it in a |
|
|
|
* Read the contents from the current buffer and store it in a |
|
|
|
* temporary page. |
|
|
|
* temporary page. |
|
|
@ -1390,7 +1400,7 @@ checkXLogConsistency(XLogReaderState *record) |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Read the contents from the backup copy, stored in WAL record and |
|
|
|
* Read the contents from the backup copy, stored in WAL record and |
|
|
|
* store it in a temporary page. There is not need to allocate a new |
|
|
|
* store it in a temporary page. There is no need to allocate a new |
|
|
|
* page here, a local buffer is fine to hold its contents and a mask |
|
|
|
* page here, a local buffer is fine to hold its contents and a mask |
|
|
|
* can be directly applied on it. |
|
|
|
* can be directly applied on it. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|