Fujii Masao <masao.fujii@gmail.com> writes:
> On Tue, Jul 7, 2015 at 12:49 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> One idea I had was to allow the COPY optimization only if the heap file is
>> physically zero-length at the time the COPY starts.
> This seems not helpful for the case where TRUNCATE is executed
> before COPY. No?
Huh? The heap file would be zero length in that case.
> So, if COPY is executed multiple times at the same transaction,
> only first COPY can be optimized?
This is true, and I don't think we should care, especially not if we're
going to take risks of incorrect behavior in order to optimize that
third-order case. The fact that we're dealing with this bug at all should
remind us that this stuff is harder than it looks. I want a simple,
reliable, back-patchable fix, and I do not believe that what you are
suggesting would be any of those.
regards, tom lane