Re: BUG #15858: could not stat file - over 4GB

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, william allen <williamedwinallen@live.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>, Magnus Hagander <magnus@hagander.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-09-17T16:04:57Z
Lists: pgsql-bugs, pgsql-hackers
=?UTF-8?Q?Juan_Jos=C3=A9_Santamar=C3=ADa_Flecha?= <juanjo.santamaria@gmail.com> writes:
> Thanks for the reminder. Please find attached a rebased version.

(This hasn't shown up on -hackers yet, maybe caught in moderation?)

I took a quick look through this.  I'm not qualified to review the
actual Windows code in win32stat.c, but as far as the way you're
plugging it into the system goes, it looks good and seems to comport
with the discussion so far.

One thing I noticed, which is a pre-existing problem but maybe now
is a good time to consider it, is that we're mapping lstat() to be
exactly stat() on Windows.  That made sense years ago when (we
believed that) Windows didn't have symlinks, but surely it no longer
makes sense.

Another more trivial point is that it'd be good to run the new code
through pgindent before committing.

			regards, tom lane



Commits

  1. Minor cleanup for win32stat.c.

  2. plperl.h should #undef fstat along with stat and lstat.

  3. Fix our Windows stat() emulation to handle file sizes > 4GB.