diff options
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r-- | src/backend/access/transam/xlog.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 4952d223cdf..178a458eb78 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5593,7 +5593,14 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) if (record->xl_rmid != RM_XACT_ID && record->xl_rmid != RM_XLOG_ID) return false; record_info = record->xl_info & ~XLR_INFO_MASK; - if (record->xl_rmid == RM_XACT_ID && record_info == XLOG_XACT_COMMIT) + if (record->xl_rmid == RM_XACT_ID && record_info == XLOG_XACT_COMMIT_COMPACT) + { + xl_xact_commit_compact *recordXactCommitData; + + recordXactCommitData = (xl_xact_commit_compact *) XLogRecGetData(record); + recordXtime = recordXactCommitData->xact_time; + } + else if (record->xl_rmid == RM_XACT_ID && record_info == XLOG_XACT_COMMIT) { xl_xact_commit *recordXactCommitData; @@ -5680,7 +5687,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) recoveryStopTime = recordXtime; recoveryStopAfter = *includeThis; - if (record_info == XLOG_XACT_COMMIT) + if (record_info == XLOG_XACT_COMMIT_COMPACT || record_info == XLOG_XACT_COMMIT) { if (recoveryStopAfter) ereport(LOG, |