Re: Getting rid of some more lseek() calls

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Michael Paquier <michael@paquier.xyz>, Andres Freund <andres@anarazel.de>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-02-13T01:51:44Z
Lists: pgsql-hackers

Attachments

On Thu, Feb 13, 2020 at 5:30 AM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> On 2020-Feb-12, Thomas Munro wrote:
> > Hmm.  Well, on Unix we have to choose between "tell me the size but
> > also change the position that I either don't care about or have to
> > undo", and "tell me the size but also tell me all this other stuff I
> > don't care about".  Since Windows apparently has GetFileSizeEx(), why
> > not use that when that's exactly what you want?  It apparently
> > understands large files.
>
> I was already thinking that it might be better to make the new function
> just "tell me the file size" without leaking the details of *how* we do
> it, before reading about this Windows call.  That reinforces it, IMO.

Ok, how about this?

Commits

  1. Use pg_pread() and pg_pwrite() in slru.c.

  2. Use pg_pwrite() in more places.