Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, Aug 15, 2017 at 7:31 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
>> Attached patch fixes the issue for me. I have locally verified that
>> the gather merge gets executed in rescan path. I haven't added a test
>> case for the same as having gather or gather merge on the inner side
>> of join can be time-consuming. However, if you or others feel that it
>> is important to have a test to cover this code path, then I can try to
>> produce one.
> Committed.
> I believe that between this commit and the test-coverage commit from
> Andres, this open item is reasonably well addressed. If someone
> thinks more needs to be done, please specify. Thanks.
How big a deal do we think test coverage is? It looks like
ExecReScanGatherMerge is identical logic to ExecReScanGather,
which *is* covered according to coverage.postgresql.org, but
it wouldn't be too surprising if they diverge in future.
I should think it wouldn't be that expensive to create a test
case, if you already have test cases that invoke GatherMerge.
Adding a right join against a VALUES clause with a small number of
entries, and a non-mergeable/hashable join clause, ought to do it.
regards, tom lane