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

simpler.
This commit is contained in:
Alvaro Herrera 2007-03-23 20:56:39 +00:00
parent 23a41573c4
commit 8aaecaf809
1 changed files with 12 additions and 16 deletions

View File

@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * 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, autovacuum_do_vac_analyze(Oid relid, bool dovacuum, bool doanalyze,
int freeze_min_age) int freeze_min_age)
{ {
VacuumStmt *vacstmt; VacuumStmt vacstmt;
MemoryContext old_cxt; 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 * in a long-lived context
*/ */
old_cxt = MemoryContextSwitchTo(AutovacMemCxt); old_cxt = MemoryContextSwitchTo(AutovacMemCxt);
vacstmt = makeNode(VacuumStmt);
/* Set up command parameters */ /* Set up command parameters */
vacstmt->vacuum = dovacuum; vacstmt.vacuum = dovacuum;
vacstmt->full = false; vacstmt.full = false;
vacstmt->analyze = doanalyze; vacstmt.analyze = doanalyze;
vacstmt->freeze_min_age = freeze_min_age; vacstmt.freeze_min_age = freeze_min_age;
vacstmt->verbose = false; vacstmt.verbose = false;
vacstmt->relation = NULL; /* not used since we pass a relids list */ vacstmt.relation = NULL; /* not used since we pass a relids list */
vacstmt->va_cols = NIL; vacstmt.va_cols = NIL;
/* Let pgstat know what we're doing */ /* Let pgstat know what we're doing */
autovac_report_activity(vacstmt, relid); autovac_report_activity(&vacstmt, relid);
vacuum(vacstmt, list_make1_oid(relid), true); vacuum(&vacstmt, list_make1_oid(relid), true);
pfree(vacstmt);
MemoryContextSwitchTo(old_cxt); MemoryContextSwitchTo(old_cxt);
} }