Re: BUG #15460: Error while creating index or constraint

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: paul.vanderlinden@mapcreator.eu, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2018-11-13T17:50:26Z
Lists: pgsql-bugs
On Tue, Nov 13, 2018 at 1:50 AM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> I think using pgoff_t would fix the problem on Windows, but on other
> systems where it maps directly to off_t it might also be 32 bits, so
> I'm not entirely sure what pgoff_t is for.  Perhaps we should just use
> int64 directly for this?  Like in the attached draft patch.  I don't
> have a Windows system to test it on.  A separate bug report that came
> in today[1] has repro steps that could be used to validate it.

I think that int64 is the way to go.

Should I fix up the diagnostic message to address Tom's complaints
about that in a separate patch?
-- 
Peter Geoghegan


Commits

  1. Have BufFileSize() ereport() on FileSize() failure.

  2. Use 64 bit type for BufFileSize().

  3. Adjust trace_sort log messages.

  4. Fix some sloppiness in the new BufFileSize() and BufFileAppend() functions.