On 8 October 2018 at 13:13, Tom Lane <t...@sss.pgh.pa.us> wrote: > The idea I had in mind was to allow hard pruning of any leaf that's > been excluded *at plan time* based on partition constraints seen in > its parent rel(s). That should be safe enough as long as we take > locks on all the non-leaf rels --- then we'd know about any change > in the constraint situation. > > Rather than coping with renumbering the RTEs, it might be easiest > to invent an "RTE_DUMMY" RTE type that a hard-pruned RTE could be > changed to.
The problem with that is that, if we get [1] done in PG12, then the RTE_DUMMYs would not exist, as we'd only have RTEs in the range table for partitions that survived plan-time pruning. It also leaves a problem to solve in the unneeded locks being taken on partitions for PREPAREd queries using run-time pruning. [1] https://commitfest.postgresql.org/20/1778/ -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services