Re: pgsql: Add TAP tests for pg_verify_checksums - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: pgsql: Add TAP tests for pg_verify_checksums
Date
Msg-id 20181014224138.GA15473@paquier.xyz
Whole thread Raw
In response to Re: pgsql: Add TAP tests for pg_verify_checksums  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Responses Re: pgsql: Add TAP tests for pg_verify_checksums  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
List pgsql-hackers
On Sun, Oct 14, 2018 at 10:24:55AM -0400, Andrew Dunstan wrote:
> [snip]

Thanks a lot for the review, Andrew!

> This code now seems redundant:
>
>          if (strcmp(fn, ".") == 0 ||
>              strcmp(fn, "..") == 0)
>              return true;

Indeed.  I have renamed skipfile() to isRelFileName on the way, which
looks better in the context.

> I would probably reverse the order of these two tests. It might not make any
> difference, assuming fn is never an empty string, but it seems more logical
> to me.
>
>    +    /* good to go if only digits */
>    +    if (fn[pos] == '\0')
>    +        return false;
>    +    /* leave if no digits */
>    +    if (pos == 0)
>    +        return true;

No objections to that.  Done.

> It also looks to me like the check for a segment number doesn't ensure
> there is at least one digit, so "123." might pass, but I could be
> wrong. In any case, there isn't a test for that, and there probably
> should be.

You are right here.  This name pattern has been failing.  Fixed in the
attached.  I have added "123_" and "123_." as extra patterns to check.

What do you think about the updated version attached?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [RFC] Removing "magic" oids
Next
From: Andres Freund
Date:
Subject: Re: [RFC] Removing "magic" oids