> This isn't a problem for operators found in operator families, because
> we trust those to not have undesirable side effects like raising
> data-dependent errors. But it'd be an issue if we started to apply
> quals that aren't index quals directly to index rows before doing
> the heap liveness check. (And, of course, once you've fetched the
> heap row there's no point in having a special path for columns
> available from the index.)

Assuming operators are pure and don't have global side effects, is it possible 
to ignore any error during that check? If tuple is not visible it shouldn't 
matter, if it is visible then error will be reported by the same routine which 
does filtering now (ExecQual?).


If not, then limiting this optimization to builtin ops is something I can live 
with :)



Reply via email to