Re: Testing DDL deparsing support

From: Ian Barwick <ian(at)2ndquadrant(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Testing DDL deparsing support
Date: 2014-12-08 02:30:35
Message-ID: 54850D4B.3060106@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 14/12/07 12:43, Bruce Momjian wrote:
> 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(at)2ndquadrant(dot)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.

Sure, pg_dump won't contain ALTER/DROP DDL; we are using pg_dump
after replaying the DDL commands to compare the actual state of the
database with the expected state.

As I'm in the middle of writing these tests, before I go any further
do you accept the tests need to be included?

Regards

Ian Barwick

--
Ian Barwick http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, RemoteDBA, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2014-12-08 02:46:11 Re: Compression of full-page-writes
Previous Message Simon Riggs 2014-12-08 02:30:23 Re: Compression of full-page-writes