diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2007-10-24 20:55:36 +0000 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2007-10-24 20:55:36 +0000 |
commit | 745c1b2c2ab8385c8392ff10383a64527e3150b7 (patch) | |
tree | 5131b38db8268f22d6202869e3e7c7ab4fc5056e /src/backend/storage/lmgr/proc.c | |
parent | 3ef18797b83b9b274218009802a5994b7f41c818 (diff) |
Rearrange vacuum-related bits in PGPROC as a bitmask, to better support
having several of them. Add two more flags: whether the process is
executing an ANALYZE, and whether a vacuum is for Xid wraparound (which
is obviously only set by autovacuum).
Sneakily move the worker's recently-acquired PostAuthDelay to a more useful
place.
Diffstat (limited to 'src/backend/storage/lmgr/proc.c')
-rw-r--r-- | src/backend/storage/lmgr/proc.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index ddebdcc5e2a..fdf089f836c 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/lmgr/proc.c,v 1.194 2007/09/08 20:31:15 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/lmgr/proc.c,v 1.195 2007/10/24 20:55:36 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -291,8 +291,9 @@ InitProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->inCommit = false; - MyProc->inVacuum = false; - MyProc->isAutovacuum = IsAutoVacuumWorkerProcess(); + MyProc->vacuumFlags = 0; + if (IsAutoVacuumWorkerProcess()) + MyProc->vacuumFlags |= PROC_IS_AUTOVACUUM; MyProc->lwWaiting = false; MyProc->lwExclusive = false; MyProc->lwWaitLink = NULL; @@ -429,8 +430,8 @@ InitAuxiliaryProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->inCommit = false; - MyProc->inVacuum = false; - MyProc->isAutovacuum = IsAutoVacuumLauncherProcess(); /* is this needed? */ + /* we don't set the "is autovacuum" flag in the launcher */ + MyProc->vacuumFlags = 0; MyProc->lwWaiting = false; MyProc->lwExclusive = false; MyProc->lwWaitLink = NULL; |