Re: How about renaming XLogFileRead() to XLogFileOpenForRead() and XLogFileOpen() to XLogFileOpenForWrite()?

From: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
To: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: How about renaming XLogFileRead() to XLogFileOpenForRead() and XLogFileOpen() to XLogFileOpenForWrite()?
Date: 2022-05-10 14:19:45
Message-ID: CAE9k0Pn7X1OVaT3HjWvbFmSSum3z4G7Wi-Kez+DzfMc9p1kb9A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 10, 2022 at 6:46 PM Bharath Rupireddy
<bharath(dot)rupireddyforpostgres(at)gmail(dot)com> wrote:
>
> On Tue, May 10, 2022 at 6:16 PM Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> wrote:
> >
> > Hi All,
> >
> > Currently, in postgres we have two different functions that are
> > specially used to open the WAL files for reading and writing purposes.
> > The first one is XLogFileOpen() that is just used to open the WAL file
> > so that we can write WAL data in it. And then we have another function
> > named XLogFileRead that does the same thing but is used when reading
> > the WAL files during recovery time. How about renaming the function
> > XLogFileRead to XLogFileOpenForRead and the other one can be renamed
> > to XLogFileOpenForWrite. I think it will make the function name more
> > clear and increase the readability. At least XlogFileRead doesn't look
> > good to me, from the function name it actually appears like we are
> > trying to read a WAL file here but actually we are opening it so that
> > it can be read by some other routine.
> >
> > Also I see that we are passing emode to the XLogFileRead function
> > which is not being used anywhere in the function, so can we remove it?
>
> Renaming XLogFileOpen to XLogFileOpenForWrite while it uses O_RDWR,
> not O_RDWR is sort of conflicting. Also, I'm concerned that
> XLogFileOpen is an extern function, the external modules using it
> might break.

Why would the external modules open WAL files to perform write
operations? AFAIU from the code, this function is specifically written
to open WAL files during WAL write operation. So I don't see any
problem in renaming it to XLogFileOpenForWrite(). Infact as I said, it
does increase the readability. And likewise, XLogFileRead can be
renamed to XLogFileOpenForRead which seems you are okay with.

--
With Regards,
Ashutosh Sharma.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2022-05-10 14:25:08 Re: JSON constructors and window functions
Previous Message Aleksander Alekseev 2022-05-10 14:01:24 Re: Asynchronous and "direct" IO support for PostgreSQL.