Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Jan 10, 2024 at 10:00 PM Alexander Lakhin <exclusion@gmail.com> wrote:
>> I was discouraged by that vast distance and implicit buffer usage too, but
>> I found no other feasible way to fix it. On the other hand, 75e03eabe and
>> Andres's words upthread made me believe that it's an acceptable solution.
> I agree that it's potentially acceptable. I just wonder if Tom or
> someone else is going to want to propose a bigger change to avoid some
> of this messiness. I don't know what that would look like, though.
I'm still feeling itchy about it. Maybe the problem could be fixed
better if we didn't re-use slots with such abandon in this code,
but I don't have a concrete proposal. Also, that'd likely be a
nontrivial rewrite bringing its own possibilities of adding bugs.
Some concrete thoughts:
* Maybe better to Assert(newslot == epqslot_clean) instead of
what you did here? Not sure.
* Why is the ExecMaterializeSlot step needed if we don't have
an epqslot_candidate?
regards, tom lane