Heikki Linnakangas <heikki@enterprisedb.com> writes:
> Tom Lane wrote:
>> Perhaps it would be better to initialize needRecheck to the opclass
>> RECHECK flag value? If the consistent function does nothing, the
>> behavior is the same as before, but it can flip the flag in either
>> direction if it wants.
> I remember that last spring, in the context of GIT, you were worried
> about the performance implication of preparing to recheck rows when no
> rechecks are needed. I didn't quite buy that back then, but this would
> have the same issue.
As I mentioned upthread, it appears that we're paying that overhead
anyway --- at least nodeIndexscan.c thinks we are. I need to dig into
the planner a bit today and see whether it's taking any shortcuts for
non-RECHECK operators.
If it really is saving anything, then I'd agree that only RECHECK-marked
operators should be allowed to adjust the flag.
regards, tom lane