From: Simon Riggs Date: Wed, 21 Apr 2010 19:53:24 +0000 (+0000) Subject: Only send cleanup_info messages if VACUUM removes any tuples. X-Git-Tag: REL9_0_BETA1~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6e092701c6ac7bb98ed88a769daa13d3a1755d9;p=postgresql 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. --- diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c index 6e807e3b47..0b4047657e 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); + } } /*