aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/nbtree/nbtpage.c4
-rw-r--r--src/backend/storage/ipc/sinval.c9
-rw-r--r--src/backend/utils/time/tqual.c5
-rw-r--r--src/include/utils/tqual.h3
4 files changed, 13 insertions, 8 deletions
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index a9bd393440c..c8fb7628ead 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.62 2003/02/23 22:43:08 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.63 2003/02/23 23:20:52 tgl Exp $
*
* NOTES
* Postgres btree pages look like ordinary relation pages. The opaque
@@ -544,7 +544,7 @@ _bt_page_recyclable(Page page)
*/
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
if (P_ISDELETED(opaque) &&
- TransactionIdPrecedesOrEquals(opaque->btpo.xact, RecentGlobalXmin))
+ TransactionIdPrecedesOrEquals(opaque->btpo.xact, RecentXmin))
return true;
return false;
}
diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c
index 239c3bc8d30..fedb438e976 100644
--- a/src/backend/storage/ipc/sinval.c
+++ b/src/backend/storage/ipc/sinval.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.53 2002/11/21 06:36:08 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.54 2003/02/23 23:20:52 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -298,9 +298,10 @@ GetOldestXmin(bool allDbs)
* This ensures that the set of transactions seen as "running" by the
* current xact will not change after it takes the snapshot.
*
- * Also, we compute the current global xmin (oldest xmin across all running
+ * We also compute the current global xmin (oldest xmin across all running
* transactions) and save it in RecentGlobalXmin. This is the same
- * computation done by GetOldestXmin(TRUE).
+ * computation done by GetOldestXmin(TRUE). The xmin value is also stored
+ * into RecentXmin.
*----------
*/
Snapshot
@@ -419,7 +420,9 @@ GetSnapshotData(bool serializable)
if (TransactionIdPrecedes(xmin, globalxmin))
globalxmin = xmin;
+ /* Update globals for use by VACUUM */
RecentGlobalXmin = globalxmin;
+ RecentXmin = xmin;
snapshot->xmin = xmin;
snapshot->xmax = xmax;
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index d6a329fa318..f5f0305e91a 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -16,7 +16,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.61 2002/10/08 17:17:19 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.62 2003/02/23 23:20:52 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -33,7 +33,8 @@ Snapshot SnapshotDirty = &SnapshotDirtyData;
Snapshot QuerySnapshot = NULL;
Snapshot SerializableSnapshot = NULL;
-/* This is updated by GetSnapshotData: */
+/* These are updated by GetSnapshotData: */
+TransactionId RecentXmin = InvalidTransactionId;
TransactionId RecentGlobalXmin = InvalidTransactionId;
bool ReferentialIntegritySnapshotOverride = false;
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index 3e3b741321a..bba4eac14ce 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: tqual.h,v 1.43 2002/09/04 20:31:46 momjian Exp $
+ * $Id: tqual.h,v 1.44 2003/02/23 23:20:52 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,6 +41,7 @@ extern DLLIMPORT Snapshot SnapshotDirty;
extern DLLIMPORT Snapshot QuerySnapshot;
extern DLLIMPORT Snapshot SerializableSnapshot;
+extern TransactionId RecentXmin;
extern TransactionId RecentGlobalXmin;
extern bool ReferentialIntegritySnapshotOverride;