On Mon, Feb 2, 2026 at 11:02 AM zengman <[email protected]> wrote:
>
> > Likely so.  This one should be backpatched, as the error generated
> > could be confusing if faced.  That's very unlikely so, still..  I'll
> > look at other places in the tree for similar inconsistencies, while on
> > it.
>
> Hi Michael,
>
> Thank you for helping to address this! I’ve gone back and reviewed the code, 
> and noticed `OpenWalSummaryFile`:
> ```
> File
> OpenWalSummaryFile(WalSummaryFile *ws, bool missing_ok)
> {
>         char            path[MAXPGPATH];
>         File            file;
>
>         snprintf(path, MAXPGPATH,
>                          XLOGDIR "/summaries/%08X%08X%08X%08X%08X.summary",
>                          ws->tli,
>                          LSN_FORMAT_ARGS(ws->start_lsn),
>                          LSN_FORMAT_ARGS(ws->end_lsn));
>
>         file = PathNameOpenFile(path, O_RDONLY);
>         if (file < 0 && (errno != EEXIST || !missing_ok))
>                 ereport(ERROR,
>                                 (errcode_for_file_access(),
>                                  errmsg("could not open file \"%s\": %m", 
> path)));
>
>         return file;
> }
> ```
> I’m thinking of changing `errno != EEXIST` to `errno != ENOENT` here — would 
> you think this adjustment is appropriate?

+1 for this change, per the function comment.

```
As an exception, if  missing_ok = true and the trouble is specifically
that the file does not exist, it will not throw an error and will
return a value less than 0.
```

>
> --
> Regards,
> Man Zeng



-- 
Regards
Junwang Zhao


Reply via email to