On Mon, Dec 2, 2024 at 3:55 PM Andres Freund <and...@anarazel.de> wrote:
> I suspect one contributor to this avoiding attention till now was that the
> optimization is fairly narrow:
>
>                         /*
>                          * We can potentially skip fetching heap pages if we 
> do not need
>                          * any columns of the table, either for checking 
> non-indexable
>                          * quals or for returning data.  This test is a bit 
> simplistic, as
>                          * it checks the stronger condition that there's no 
> qual or return
>                          * tlist at all. But in most cases it's probably not 
> worth working
>                          * harder than that.
>                          */
>                         need_tuples = (node->ss.ps.plan->qual != NIL ||
>                                                    
> node->ss.ps.plan->targetlist != NIL);
>
> Even an entry in the targetlist that that does not depend on the current row
> disables the optimization.

Good point. I agree that that factor is likely to have masked the
problem over the past 6 years.

-- 
Peter Geoghegan


Reply via email to