Re: stat() on Windows might cause error if target file is larger than 4GB

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Higuchi, Daisuke" <higuchi(dot)daisuke(at)jp(dot)fujitsu(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: stat() on Windows might cause error if target file is larger than 4GB
Date: 2018-09-13 04:05:01
Message-ID: 20180913040501.GH3578@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 12, 2018 at 08:17:05PM -0400, Tom Lane wrote:
> Yeah, I was afraid of that. We could invent a typedef "pg_struct_stat"
> that maps to the right thing, but using that everywhere would be a mighty
> invasive change :-(.

There are 130 places where "struct stat " is used, so I'd rather avoid
that.

> And we can't just "#define stat __stat64" because
> that would break the calls to stat(). Or wait, maybe we could do that
> and also have a one-liner function named __stat64 that would catch the
> calls and redirect to _stat64?

I don't think I grab your point here. "#define stat __stat64" cannot
exist from the start so how would you do that?
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2018-09-13 04:36:22 Re: Getting ERROR: could not open file "base/13164/t3_16388" with partition table with ON COMMIT
Previous Message Michael Paquier 2018-09-13 03:59:36 Re: [HACKERS] Cutting initdb's runtime (Perl question embedded)