From e6df063cf2e7b0d91e23de3a39cb67863af4bb33 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 30 Dec 2009 21:21:33 +0000
Subject: [PATCH] Dept of second thoughts: recursive case in ANALYZE shouldn't
 emit a pgstats message.  This might need to be done differently later, but
 with the current logic that's what should happen.

---
 src/backend/commands/analyze.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index aa41cd3d4c..5946c4a830 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/analyze.c,v 1.145 2009/12/30 20:32:14 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/analyze.c,v 1.146 2009/12/30 21:21:33 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -565,9 +565,12 @@ do_analyze_rel(Relation onerel, VacuumStmt *vacstmt,
 	/*
 	 * Report ANALYZE to the stats collector, too; likewise, tell it to
 	 * adopt these numbers only if we're not inside a VACUUM that got a
-	 * better number.
+	 * better number.  However, a call with inh = true shouldn't reset
+	 * the stats.
 	 */
-	pgstat_report_analyze(onerel, update_reltuples, totalrows, totaldeadrows);
+	if (!inh)
+		pgstat_report_analyze(onerel, update_reltuples,
+							  totalrows, totaldeadrows);
 
 	/* We skip to here if there were no analyzable columns */
 cleanup: