Thread: pgsql: Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table

pgsql: Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table

From
alvherre@postgresql.org (Alvaro Herrera)
Date:
Log Message:
-----------
Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table without
analyzing, so that future analyze threshold calculations don't get confused.
Also, make sure we correctly track the decrease of live tuples cause by
deletes.

Per report from Dylan Hansen, patches by Tom Lane and me.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
    pgsql/src/backend/postmaster:
        pgstat.c (r1.111.2.3 -> r1.111.2.4)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.111.2.3&r2=1.111.2.4)

Re: pgsql: Clamp last_anl_tuples to n_live_tuples, in

From
Andrew Dunstan
Date:
Alvaro Herrera wrote:

>Log Message:
>-----------
>Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table without
>analyzing, so that future analyze threshold calculations don't get confused.
>Also, make sure we correctly track the decrease of live tuples cause by
>deletes.
>
>Per report from Dylan Hansen, patches by Tom Lane and me.
>
>Tags:
>----
>REL8_1_STABLE
>
>Modified Files:
>--------------
>    pgsql/src/backend/postmaster:
>        pgstat.c (r1.111.2.3 -> r1.111.2.4)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.111.2.3&r2=1.111.2.4)
>
>
>

This appears to have broken 8.1 on every platform. See buildfarm.

cheers

andrew

Re: pgsql: Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table

From
Alvaro Herrera
Date:
Andrew Dunstan wrote:
> Alvaro Herrera wrote:
>
> >Log Message:
> >-----------
> >Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table without
> >analyzing, so that future analyze threshold calculations don't get
> >confused.
> >Also, make sure we correctly track the decrease of live tuples cause by
> >deletes.

Ugh, sorry.  Consequence of having to copy patches from a CVSup tree and
a "commit tree" :-(  Eventually I was bound to make such a mistake.

Tom beat me to committing the fix though.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Alvaro Herrera <alvherre@commandprompt.com> writes:
> Ugh, sorry.  Consequence of having to copy patches from a CVSup tree and
> a "commit tree" :-(  Eventually I was bound to make such a mistake.

Hm, don't you have things set up so that you commit directly from a
tested source tree?  I don't think I've ever committed a patch without
having at least made sure it compiled.  I also suggest using diff+patch
to transfer patches across branches ... this one looks like it was
transcribed into 8.1 manually, and that's what got ya.

            regards, tom lane

Re: pgsql: Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table

From
Alvaro Herrera
Date:
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Ugh, sorry.  Consequence of having to copy patches from a CVSup tree and
> > a "commit tree" :-(  Eventually I was bound to make such a mistake.
>
> Hm, don't you have things set up so that you commit directly from a
> tested source tree?

No.  I have two trees for each release; one comes from CVSup and is
where I do the development and test stuff.  The other one comes from the
SSH backed CVS at postgresql.org.  What I do is develop the patch in the
CVSup tree, test it there, and then copy it to the other repo by
diff+patch.  What happened here was that I produced the fat-fingered
patch in the CVSup branch, and copied it to the other tree _before_
testing; then I compiled, found that mistake and corrected it but forgot
to copy the correction to the other tree :-(

I don't use the CVS trees directly because it's very slow to get diffs
that way (latency is way too high), and also out of fear of committing
unwanted stuff.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.