OSDN Git Service

Only send cleanup_info messages if VACUUM removes any tuples.
authorSimon Riggs <simon@2ndQuadrant.com>
Wed, 21 Apr 2010 19:53:24 +0000 (19:53 +0000)
committerSimon Riggs <simon@2ndQuadrant.com>
Wed, 21 Apr 2010 19:53:24 +0000 (19:53 +0000)
There is no other purpose for this message type than to report
the latestRemovedXid of removed tuples, prior to index scans.
Removes overlooked path for sending invalid latestRemovedXid.
Fixes buildfarm failure on centaur.

src/backend/commands/vacuumlazy.c

index 6e807e3..0b40476 100644 (file)
@@ -29,7 +29,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.133 2010/04/21 17:20:56 sriggs Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.134 2010/04/21 19:53:24 sriggs Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -274,9 +274,12 @@ vacuum_log_cleanup_info(Relation rel, LVRelStats *vacrelstats)
        if (rel->rd_istemp || !XLogIsNeeded())
                return;
 
-       Assert(TransactionIdIsValid(vacrelstats->latestRemovedXid));
+       if (vacrelstats->tuples_deleted > 0)
+       {
+               Assert(TransactionIdIsValid(vacrelstats->latestRemovedXid));
 
-       (void) log_heap_cleanup_info(rel->rd_node, vacrelstats->latestRemovedXid);
+               (void) log_heap_cleanup_info(rel->rd_node, vacrelstats->latestRemovedXid);
+       }
 }
 
 /*