*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.97 2007/09/20 17:56:31 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.98 2007/09/20 21:43:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
*/
RelationTruncate(onerel, new_rel_pages);
- /* Now we're OK to release the lock. */
- UnlockRelation(onerel, AccessExclusiveLock);
+ /*
+ * Note: once we have truncated, we *must* keep the exclusive lock
+ * until commit. The sinval message that will be sent at commit
+ * (as a result of vac_update_relstats()) must be received by other
+ * backends, to cause them to reset their rd_targblock values, before
+ * they can safely access the table again.
+ */
/*
* Drop free-space info for removed blocks; these must not get entered