aboutsummaryrefslogtreecommitdiff
path: root/contrib/jsonb_plpython/jsonb_plpython2u.control
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-11-05 11:42:24 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2019-11-05 11:42:24 -0500
commit529ebb20aaa5eb68e4fb7a656271bbb83efe9529 (patch)
tree715f8df8f3d851ccfdd7efb9ae3efe2626ac23a3 /contrib/jsonb_plpython/jsonb_plpython2u.control
parent2a4d96ebbd65be9aa421a8a4550a51ff12bc6d2d (diff)
downloadpostgresql-529ebb20aaa5eb68e4fb7a656271bbb83efe9529.tar.gz
postgresql-529ebb20aaa5eb68e4fb7a656271bbb83efe9529.zip
Generate EquivalenceClass members for partitionwise child join rels.
Commit d25ea0127 got rid of what I thought were entirely unnecessary derived child expressions in EquivalenceClasses for EC members that mention multiple baserels. But it turns out that some of the child expressions that code created are necessary for partitionwise joins, else we fail to find matching pathkeys for Sort nodes. (This happens only for certain shapes of the resulting plan; it may be that partitionwise aggregation is also necessary to show the failure, though I'm not sure of that.) Reverting that commit entirely would be quite painful performance-wise for large partition sets. So instead, add code that explicitly generates child expressions that match only partitionwise child join rels we have actually generated. Per report from Justin Pryzby. (Amit Langote noticed the problem earlier, though it's not clear if he recognized then that it could result in a planner error, not merely failure to exploit partitionwise join, in the code as-committed.) Back-patch to v12 where commit d25ea0127 came in. Amit Langote, with lots of kibitzing from me Discussion: https://postgr.es/m/CA+HiwqG2WVUGmLJqtR0tPFhniO=H=9qQ+Z3L_ZC+Y3-EVQHFGg@mail.gmail.com Discussion: https://postgr.es/m/20191011143703.GN10470@telsasoft.com
Diffstat (limited to 'contrib/jsonb_plpython/jsonb_plpython2u.control')
0 files changed, 0 insertions, 0 deletions