From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri, 23 Mar 2007 20:56:39 +0000 (+0000)
Subject: We no longer need to palloc the VacuumStmt node; keeping it on the stack is
X-Git-Tag: REL8_3_BETA1~978
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8aaecaf809d8700688415f8c92785404486b85b1;p=postgresql

We no longer need to palloc the VacuumStmt node; keeping it on the stack is
simpler.
---

diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index b291855830..466f03a5f5 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.34 2007/03/13 00:33:41 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.35 2007/03/23 20:56:39 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1237,32 +1237,28 @@ static void
 autovacuum_do_vac_analyze(Oid relid, bool dovacuum, bool doanalyze,
 						  int freeze_min_age)
 {
-	VacuumStmt *vacstmt;
+	VacuumStmt	vacstmt;
 	MemoryContext old_cxt;
 
 	/*
-	 * The node must survive transaction boundaries, so make sure we create it
+	 * The list must survive transaction boundaries, so make sure we create it
 	 * in a long-lived context
 	 */
 	old_cxt = MemoryContextSwitchTo(AutovacMemCxt);
 
-	vacstmt = makeNode(VacuumStmt);
-
 	/* Set up command parameters */
-	vacstmt->vacuum = dovacuum;
-	vacstmt->full = false;
-	vacstmt->analyze = doanalyze;
-	vacstmt->freeze_min_age = freeze_min_age;
-	vacstmt->verbose = false;
-	vacstmt->relation = NULL;	/* not used since we pass a relids list */
-	vacstmt->va_cols = NIL;
+	vacstmt.vacuum = dovacuum;
+	vacstmt.full = false;
+	vacstmt.analyze = doanalyze;
+	vacstmt.freeze_min_age = freeze_min_age;
+	vacstmt.verbose = false;
+	vacstmt.relation = NULL;	/* not used since we pass a relids list */
+	vacstmt.va_cols = NIL;
 
 	/* Let pgstat know what we're doing */
-	autovac_report_activity(vacstmt, relid);
-
-	vacuum(vacstmt, list_make1_oid(relid), true);
+	autovac_report_activity(&vacstmt, relid);
 
-	pfree(vacstmt);
+	vacuum(&vacstmt, list_make1_oid(relid), true);
 	MemoryContextSwitchTo(old_cxt);
 }