• Tom Lane's avatar
    Rewrite the planner's handling of materialized plan types so that there is · 9bb34281
    Tom Lane authored
    an explicit model of rescan costs being different from first-time costs.
    The costing of Material nodes in particular now has some visible relationship
    to the actual runtime behavior, where before it was essentially fantasy.
    This also fixes up a couple of places where different materialized plan types
    were treated differently for no very good reason (probably just oversights).
    
    A couple of the regression tests are affected, because the planner now chooses
    to put the other relation on the inside of a nestloop-with-materialize.
    So far as I can see both changes are sane, and the planner is now more
    consistently following the expectation that it should prefer to materialize
    the smaller of two relations.
    
    Per a recent discussion with Robert Haas.
    9bb34281
geometry_1.out 20.1 KB