We no longer need a snapshot set after opening the finishing transaction: this
authorAlvaro Herrera
Wed, 19 Mar 2008 14:18:21 +0000 (14:18 +0000)
committerAlvaro Herrera
Wed, 19 Mar 2008 14:18:21 +0000 (14:18 +0000)
is redundant because autovacuum now always analyzes a single table per
transaction.

src/backend/commands/vacuum.c

index 72a50690ba45c926f09106e31a1561690b0b4b4c..bc36ef3fed4a6d2cd99eca32f5c34e3508942abc 100644 (file)
@@ -13,7 +13,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.367 2008/03/14 17:25:58 alvherre Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.368 2008/03/19 14:18:21 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -482,15 +482,6 @@ vacuum(VacuumStmt *vacstmt, List *relids,
         * PostgresMain().
         */
        StartTransactionCommand();
-
-       /*
-        * Re-establish the transaction snapshot.  This is wasted effort when
-        * we are called as a normal utility command, because the new
-        * transaction will be dropped immediately by PostgresMain(); but it's
-        * necessary if we are called from autovacuum because autovacuum might
-        * continue on to do an ANALYZE-only call.
-        */
-       ActiveSnapshot = CopySnapshot(GetTransactionSnapshot());
    }
 
    if (vacstmt->vacuum && !IsAutoVacuumWorkerProcess())