diff options
Diffstat (limited to 'src/backend/postmaster/autovacuum.c')
-rw-r--r-- | src/backend/postmaster/autovacuum.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index cc0cd0478d4..7d861c1d21f 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -55,7 +55,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.71.2.1 2008/02/20 16:48:12 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.71.2.2 2008/03/14 17:26:01 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -285,6 +285,7 @@ static void relation_needs_vacanalyze(Oid relid, Form_pg_autovacuum avForm, static void autovacuum_do_vac_analyze(Oid relid, bool dovacuum, bool doanalyze, int freeze_min_age, + bool for_wraparound, BufferAccessStrategy bstrategy); static HeapTuple get_pg_autovacuum_tuple_relid(Relation avRel, Oid relid); static PgStat_StatTabEntry *get_pgstat_tabentry_relid(Oid relid, bool isshared, @@ -2095,14 +2096,6 @@ do_autovacuum(void) /* clean up memory before each iteration */ MemoryContextResetAndDeleteChildren(PortalContext); - /* set the "vacuum for wraparound" flag in PGPROC */ - if (tab->at_wraparound) - { - LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE); - MyProc->vacuumFlags |= PROC_VACUUM_FOR_WRAPAROUND; - LWLockRelease(ProcArrayLock); - } - /* * Save the relation name for a possible error message, to avoid a * catalog lookup in case of an error. Note: they must live in a @@ -2126,6 +2119,7 @@ do_autovacuum(void) tab->at_dovacuum, tab->at_doanalyze, tab->at_freeze_min_age, + tab->at_wraparound, bstrategy); /* @@ -2604,7 +2598,7 @@ relation_needs_vacanalyze(Oid relid, */ static void autovacuum_do_vac_analyze(Oid relid, bool dovacuum, bool doanalyze, - int freeze_min_age, + int freeze_min_age, bool for_wraparound, BufferAccessStrategy bstrategy) { VacuumStmt vacstmt; @@ -2631,7 +2625,7 @@ autovacuum_do_vac_analyze(Oid relid, bool dovacuum, bool doanalyze, /* Let pgstat know what we're doing */ autovac_report_activity(&vacstmt, relid); - vacuum(&vacstmt, list_make1_oid(relid), bstrategy, true); + vacuum(&vacstmt, list_make1_oid(relid), bstrategy, for_wraparound, true); MemoryContextSwitchTo(old_cxt); } |