Re: BUG #15460: Error while creating index or constraint - Mailing list pgsql-bugs

From Peter Geoghegan
Subject Re: BUG #15460: Error while creating index or constraint
Date
Msg-id CAH2-Wzn0ZNLZs3DhCYdLMv4xn1fnM8ugVHPvWz67dSUh1s_=2Q@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15460: Error while creating index or constraint  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #15460: Error while creating index or constraint
List pgsql-bugs
On Mon, Oct 29, 2018 at 8:25 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> So there are a couple of things to complain about here with respect
> to the error message, regardless of the underlying bug:

Attached patch fixes the problems with BufFileSize(), while also
making similar adjustments to a closely related buffile.c "ereport() +
errcode_for_file_access()" in passing -- the ereport() from
BufFileOpenShared(). Note that both BufFileOpenShared() and
BufFileSize() are used in a closely coordinated way already -- we
literally call one immediately after the other from logtape.c. I don't
like the current inconsistency in error handling.

My approach implies a minor API break in BufFileSize(), but I think
that that's okay -- see the draft commit message for an explanation.
Beyond what I say there, I think that any third party client code
ought to be following the example of tuplestore_rescan(), and seeking
to the end of the BufFile directly. BufFileSize() should just be a
shared BufFile thing, in case it needs to be changed in the future.

-- 
Peter Geoghegan

Attachment

pgsql-bugs by date:

Previous
From: Victor Petrovykh
Date:
Subject: Re: BUG #15519: Casting float4 into int4 gets the wrong sign insteadof "integer out of range" error
Next
From: Tom Lane
Date:
Subject: Re: BUG #15519: Casting float4 into int4 gets the wrong sign instead of "integer out of range" error