aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-09-04 19:12:05 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-09-04 19:12:05 +0000
commit936114a019f6ddc7c9f7a2326d79879ba7015169 (patch)
tree99594a8a0ea76903d9a1a6294370bbe8aea4c381
parentbc1a61a30d3baa4c237a05f20b607051165a81b9 (diff)
downloadpostgresql-936114a019f6ddc7c9f7a2326d79879ba7015169.tar.gz
postgresql-936114a019f6ddc7c9f7a2326d79879ba7015169.zip
Fix comment, add Assert.
-rw-r--r--src/backend/commands/vacuum.c6
-rw-r--r--src/backend/commands/vacuumlazy.c13
2 files changed, 13 insertions, 6 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index fe72ff96020..991af5d5f35 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -13,7 +13,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.208 2001/08/26 16:55:59 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.209 2001/09/04 19:12:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1069,8 +1069,8 @@ scan_heap(VRelStats *vacrelstats, Relation onerel,
FreezeLimit))
{
tuple.t_data->t_xmin = FrozenTransactionId;
- tuple.t_data->t_infomask &= ~HEAP_XMIN_INVALID;
- tuple.t_data->t_infomask |= HEAP_XMIN_COMMITTED;
+ /* infomask should be okay already */
+ Assert(tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED);
pgchanged = true;
}
break;
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index f525ecaf36c..8351da5e7df 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -31,7 +31,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v 1.5 2001/08/26 16:55:59 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v 1.6 2001/09/04 19:12:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -318,14 +318,21 @@ lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,
/*
* Tuple is good. Consider whether to replace its xmin
* value with FrozenTransactionId.
+ *
+ * NB: Since we hold only a shared buffer lock here,
+ * we are assuming that TransactionId read/write
+ * is atomic. This is not the only place that makes
+ * such an assumption. It'd be possible to avoid the
+ * assumption by momentarily acquiring exclusive lock,
+ * but for the moment I see no need to.
*/
if (TransactionIdIsNormal(tuple.t_data->t_xmin) &&
TransactionIdPrecedes(tuple.t_data->t_xmin,
FreezeLimit))
{
tuple.t_data->t_xmin = FrozenTransactionId;
- tuple.t_data->t_infomask &= ~HEAP_XMIN_INVALID;
- tuple.t_data->t_infomask |= HEAP_XMIN_COMMITTED;
+ /* infomask should be okay already */
+ Assert(tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED);
pgchanged = true;
}
break;