diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index ca057c7f2f..1a5c3b3c3b 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/index.c,v 1.263 2006/03/05 15:58:22 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/index.c,v 1.264 2006/03/24 23:02:17 tgl Exp $ * * * INTERFACE ROUTINES @@ -1473,7 +1473,9 @@ IndexBuildHeapScan(Relation heapRelation, /* * If tuple is recently deleted then we must index it - * anyway to keep VACUUM from complaining. + * anyway to preserve MVCC semantics. (Pre-existing + * transactions could try to use the index after we + * finish building it, and may need to see such tuples.) */ indexIt = true; tupleIsAlive = false; @@ -1541,13 +1543,10 @@ IndexBuildHeapScan(Relation heapRelation, /* * In a partial index, discard tuples that don't satisfy the - * predicate. We can also discard recently-dead tuples, since VACUUM - * doesn't complain about tuple count mismatch for partial indexes. + * predicate. */ if (predicate != NIL) { - if (!tupleIsAlive) - continue; if (!ExecQual(predicate, econtext, false)) continue; }