From f6e092701c6ac7bb98ed88a769daa13d3a1755d9 Mon Sep 17 00:00:00 2001
From: Simon Riggs <simon@2ndQuadrant.com>
Date: Wed, 21 Apr 2010 19:53:24 +0000
Subject: [PATCH] Only send cleanup_info messages if VACUUM removes any tuples.
 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 | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 6e807e3b479..0b4047657ea 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -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);
+	}
 }
 
 /*
-- 
GitLab