aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-08-15 17:03:36 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-08-15 17:03:36 +0000
commit057ea3471f2e66da5e9d2c017a5484b885c44adf (patch)
tree27fc5bbb45d2badb442011f33b6c704423c58f5e
parent2820f05ef93574873dfcb03bb5b1841e87d3e6e2 (diff)
downloadpostgresql-057ea3471f2e66da5e9d2c017a5484b885c44adf.tar.gz
postgresql-057ea3471f2e66da5e9d2c017a5484b885c44adf.zip
Xmin calculations should consider only top transaction IDs, and
therefore starting with GetCurrentTransactionId is wrong. Fixes miscomputation of RecentGlobalXmin leading to bizarre behavior reported by Gavin Sherry.
-rw-r--r--src/backend/storage/ipc/sinval.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c
index 57e39da4a4d..af046a3f1ec 100644
--- a/src/backend/storage/ipc/sinval.c
+++ b/src/backend/storage/ipc/sinval.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/storage/ipc/sinval.c,v 1.67 2004/08/01 17:32:16 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/storage/ipc/sinval.c,v 1.68 2004/08/15 17:03:36 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -673,7 +673,7 @@ GetOldestXmin(bool allDbs)
TransactionId result;
int index;
- result = GetCurrentTransactionId();
+ result = GetTopTransactionId();
LWLockAcquire(SInvalLock, LW_SHARED);
@@ -763,7 +763,7 @@ GetSnapshotData(Snapshot snapshot, bool serializable)
errmsg("out of memory")));
}
- globalxmin = xmin = GetCurrentTransactionId();
+ globalxmin = xmin = GetTopTransactionId();
/*
* If we are going to set MyProc->xmin then we'd better get exclusive