On Tue, Dec 2, 2014 at 03:13:07PM -0300, Alvaro Herrera wrote:
> Robert Haas wrote:
> > On Thu, Nov 27, 2014 at 11:43 PM, Ian Barwick <ian@2ndquadrant.com> wrote:
>
> > > A simple schedule to demonstrate this is available; execute from the
> > > src/test/regress/ directory like this:
> > >
> > > ./pg_regress \
> > > --temp-install=./tmp_check \
> > > --top-builddir=../../.. \
> > > --dlpath=. \
> > > --schedule=./schedule_ddl_deparse_demo
> >
> > I haven't read the code, but this concept seems good to me.
>
> Excellent, thanks.
>
> > It has the unfortunate weakness that a difference could exist during
> > the *middle* of the regression test run that is gone by the *end* of
> > the run, but our existing pg_upgrade testing has the same weakness, so
> > I guess we can view this as one more reason not to be too aggressive
> > about having regression tests drop the unshared objects they create.
>
> Agreed. Not dropping objects also helps test pg_dump itself; the normal
> procedure there is run the regression tests, then pg_dump the regression
> database. Objects that are dropped never exercise their corresponding
> pg_dump support code, which I think is a bad thing. I think we should
> institute a policy that regression tests must keep the objects they
> create; maybe not all of them, but at least a sample large enough to
> cover all interesting possibilities.
This causes creation DDL is checked if it is used in the regression
database, but what about ALTER and DROP? pg_dump doesn't issue those,
except in special cases like inheritance.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ Everyone has their own god. +