• H
    Remove extra planner pass to remove "trivial" Result nodes. · c613cabf
    Heikki Linnakangas 提交于
    Instead, avoid creating such Result nodes in the first place, by making
    plan_pushdown_tlist() check if the Result node would have any work to do.
    
    With this, you get Result nodes in some cases where the old code could zap
    it away. But on the other hand, this can avoid inserting Result nodes, not
    only on top of Appends, but on top of any node. This can be seen in the
    included expected output changes: some test queries lose a Result, some
    gain one. So performance-wise this is about a wash, but this is simpler.
    
    The reason to do this right now is that we ran into issues with the
    "zapping" code while working on the 9.0 merge. I'm sure we could fix those
    issues, but let's do this rather than spend time debugging and fixing the
    zapping code with the merge.
    c613cabf
planner.c 139.1 KB