Fix brown paper bag bug in 5c47c6546c413d5eb51c1626070a807026e6139d.
authorRobert Haas <[email protected]>
Tue, 19 Dec 2023 20:00:23 +0000 (15:00 -0500)
committerRobert Haas <[email protected]>
Tue, 19 Dec 2023 20:00:23 +0000 (15:00 -0500)
The previous logic failed to work for anything other than the first
segment of a relation.

Report by Jakub Wartak. Patch by me.

Discussion: http://postgr.es/m/CAKZiRmwd3KTNMQhm9Bv4oR_1uMehXroO6kGyJQkiw9DfM8cMwQ@mail.gmail.com

src/backend/storage/file/reinit.c

index 5df2517b46b6c2a12fdd0d779db514618a61fa34..6e8eb786d0f4031a1c24b60004f35f2672d3c7e3 100644 (file)
@@ -431,7 +431,7 @@ parse_filename_for_nontemp_relation(const char *name, RelFileNumber *relnumber,
    else
    {
        /* Reject leading zeroes, just like we do for RelFileNumber. */
-       if (name[0] < '1' || name[0] > '9')
+       if (name[1] < '1' || name[1] > '9')
            return false;
 
        errno = 0;