pgsql: Rearrange vacuum-related bits in PGPROC as a bitmask, to better

Lists: pgsql-committers
From: alvherre(at)postgresql(dot)org (Alvaro Herrera)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Rearrange vacuum-related bits in PGPROC as a bitmask, to better
Date: 2007-10-24 20:55:36
Message-ID: 20071024205536.CB425754229@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
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.

Modified Files:
--------------
pgsql/src/backend/access/transam:
twophase.c (r1.36 -> r1.37)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/twophase.c?r1=1.36&r2=1.37)
pgsql/src/backend/commands:
analyze.c (r1.109 -> r1.110)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c?r1=1.109&r2=1.110)
vacuum.c (r1.359 -> r1.360)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c?r1=1.359&r2=1.360)
pgsql/src/backend/postmaster:
autovacuum.c (r1.62 -> r1.63)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/autovacuum.c?r1=1.62&r2=1.63)
pgsql/src/backend/storage/ipc:
procarray.c (r1.35 -> r1.36)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c?r1=1.35&r2=1.36)
pgsql/src/backend/storage/lmgr:
proc.c (r1.194 -> r1.195)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c?r1=1.194&r2=1.195)
pgsql/src/include/storage:
proc.h (r1.100 -> r1.101)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/proc.h?r1=1.100&r2=1.101)


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Rearrange vacuum-related bits in PGPROC as a bitmask, to better
Date: 2007-10-24 21:51:52
Message-ID: 15668.1193262712@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

alvherre(at)postgresql(dot)org (Alvaro Herrera) writes:
> 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).

Is the explicit reset of PROC_VACUUM_FOR_WRAPAROUND (about line 2140
of autovacuum.c) actually needed? Won't that get cleared automatically
during transaction end?

regards, tom lane


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Rearrange vacuum-related bits in PGPROC as a bitmask, to better
Date: 2007-10-24 22:54:13
Message-ID: 20071024225413.GB4626@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Tom Lane wrote:
> alvherre(at)postgresql(dot)org (Alvaro Herrera) writes:
> > 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).
>
> Is the explicit reset of PROC_VACUUM_FOR_WRAPAROUND (about line 2140
> of autovacuum.c) actually needed?

Probably not. Actually I was just wondering if it was possible to
commit the transaction opened for the previous vacuum sooner, which
would clear that bit and also release the locks on the vacuumed
relation. But that's probably too much of a hassle and a wasted Xid or
two.

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"Ellos andaban todos desnudos como su madre los parió, y también las mujeres,
aunque no vi más que una, harto moza, y todos los que yo vi eran todos
mancebos, que ninguno vi de edad de más de XXX años" (Cristóbal Colón)