Re: Tighten up a few overly lax regexes in pg_dump's tap tests - Mailing list pgsql-hackers

From Daniel Gustafsson
Subject Re: Tighten up a few overly lax regexes in pg_dump's tap tests
Date
Msg-id A5A8676D-6CE7-4BCD-898E-D7AA3C06AD23@yesql.se
Whole thread Raw
In response to Re: Tighten up a few overly lax regexes in pg_dump's tap tests  ("Tels" <nospam-pg-abuse@bloodgate.com>)
Responses Re: Tighten up a few overly lax regexes in pg_dump's tap tests  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
> On 7 Feb 2019, at 13:55, Tels <nospam-pg-abuse@bloodgate.com> wrote:
> On Wed, February 6, 2019 8:10 pm, Michael Paquier wrote:
>> On Wed, Feb 06, 2019 at 03:41:20PM +0100, Daniel Gustafsson wrote:
>>> Correct.  One could argue that the regex is still suboptimal since
>>> “COMMENT ON
>>> DATABASE postgres IS  ;” will be matched as well, but there I think the
>>> tradeoff
>>> for readability wins.
>>
>> Okay, that looks like an improvement anyway, so committed after going
>> over the tests for similar problems, and there was one for CREATE
>> DATABASE and DROP ROLE.  It is possible to have a regex which tells as
>> at least one non-whitespace character, but from what I can see these
>> don't really improve the readability.
>
> Sorry for being late to the party, but it just occured to me that while
> ".+"  is definitely an improvement over ".*", it isn't foolproof either,
> as it also matches ";”.

Correct.  The idea was to maintain readability while making the regex a bit
better, without any claims to make it perfect.  One can argue whether or not
that’s enough, but IMO keeping the tests as readable as possible is preferrable
when it comes to the tests in question, as they aren’t matching against user
supplied SQL but machine generated.

cheers ./daniel

pgsql-hackers by date:

Previous
From: Sergei Kornilov
Date:
Subject: Re: REINDEX CONCURRENTLY 2.0
Next
From: Tom Lane
Date:
Subject: Re: phase out ossp-uuid?