diff options
author | Heikki Linnakangas | 2010-03-11 09:26:59 +0000 |
---|---|---|
committer | Heikki Linnakangas | 2010-03-11 09:26:59 +0000 |
commit | e0f9e2b648c8e6f237549c353b7b3179654451d1 (patch) | |
tree | ea8dc8e51ec1ba35c5b603b58d16dee0789f019c | |
parent | daaeac88aaf60823e1328fa950d324818638c934 (diff) |
Fix bug in KnownAssignedXidsMany(). I saw this when looking at the
assertion failure reported by Erik Rijkers, but this alone doesn't explain
the failure.
-rw-r--r-- | src/backend/storage/ipc/procarray.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index baa2e43f50d..e9277592589 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.60 2010/02/26 02:01:00 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.61 2010/03/11 09:26:59 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -448,6 +448,7 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) /* * Remove stale transactions, if any. */ + Assert(TransactionIdIsValid(running->oldestRunningXid)); ExpireOldKnownAssignedTransactionIds(running->oldestRunningXid); StandbyReleaseOldLocks(running->oldestRunningXid); @@ -2518,7 +2519,7 @@ KnownAssignedXidsRemoveMany(TransactionId xid, bool keepPreparedXacts) if (!TransactionIdIsValid(xid) || TransactionIdPrecedes(removeXid, xid)) { - if (keepPreparedXacts && StandbyTransactionIdIsPrepared(xid)) + if (keepPreparedXacts && StandbyTransactionIdIsPrepared(removeXid)) continue; else { |