| From: | Bruce Momjian <bruce(at)momjian(dot)us> |
|---|---|
| To: | Wei Sun <936739278(at)qq(dot)com> |
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Add lasterrno setting for dir_existsfile() |
| Date: | 2022-08-12 23:04:12 |
| Message-ID: | YvbcbLub4Ph54/Mi@momjian.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Aug 12, 2022 at 06:22:01PM -0400, Bruce Momjian wrote:
> On Mon, Jan 10, 2022 at 12:19:28AM +0800, Wei Sun wrote:
> > Hi,
> >
> > Some time ago,the following patch clean up error handling in pg_basebackup's
> > walmethods.c.
> > https://github.com/postgres/postgres/commit/248c3a9
> >
> > This patch keep the error state in the DirectoryMethodData struct,
> > in most functions, the lasterrno is set correctly, but in function
> > dir_existsfile(),
> > the lasterrno is not set when the file fails to open.
> >
> > If this is a correction omission, I think this patch can fix this.
>
> Looking at this, the function is used to check if something exists, and
> return a boolean. I am not sure it is helpful to also return a ENOENT in
> the lasterrno status field. It might be useful to set lasterrno if the
> open fails and it is _not_ ENOENT.
Thinking some more, how would you know to check lasterrno since exists
and not exists are both valid outputs?
--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Junwang Zhao | 2022-08-13 01:03:29 | Re: fix stale help message |
| Previous Message | Tom Lane | 2022-08-12 22:45:27 | Re: Cleaning up historical portability baggage |