public inbox for [email protected]
help / color / mirror / Atom feedFrom: Bruce Momjian <[email protected]>
To: Wei Sun <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: Add lasterrno setting for dir_existsfile()
Date: Fri, 12 Aug 2022 19:04:12 -0400
Message-ID: <YvbcbLub4Ph54/[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
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 <[email protected]> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
view thread (5+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Add lasterrno setting for dir_existsfile()
In-Reply-To: <YvbcbLub4Ph54/[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox