aboutsummaryrefslogtreecommitdiff
path: root/src/extend/array
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2025-06-20 15:55:12 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2025-06-20 15:55:12 -0400
commita16ef313f2c21225e89ddb9168f30601f21c7d07 (patch)
tree1d41609cbf41cc6ccec085d8d2f4432f6ce2581f /src/extend/array
parent5861b1f343b52ac358912707788214fb8dc981e5 (diff)
downloadpostgresql-a16ef313f2c21225e89ddb9168f30601f21c7d07.tar.gz
postgresql-a16ef313f2c21225e89ddb9168f30601f21c7d07.zip
Remove planner's have_dangerous_phv() join-order restriction.
Commit 85e5e222b, which added (a forerunner of) this logic, argued that Adding the necessary complexity to make this work doesn't seem like it would be repaid in significantly better plans, because in cases where such a PHV exists, there is probably a corresponding join order constraint that would allow a good plan to be found without using the star-schema exception. The flaw in this claim is that there may be other join-order restrictions that prevent us from finding a join order that doesn't involve a "dangerous" PHV. In particular we now recognize that small join_collapse_limit or from_collapse_limit could prevent it. Therefore, let's bite the bullet and make the case work. We don't have to extend the executor's support for nestloop parameters as I thought at the time, because we can instead push the evaluation of the placeholder's expression into the left-hand input of the NestLoop node. So there's not really a lot of downside to this solution, and giving the planner more join-order flexibility should have value beyond just avoiding failure. Having said that, there surely is a nonzero risk of introducing new bugs. Since this failure mode escaped detection for ten years, such cases don't seem common enough to justify a lot of risk. Therefore, let's put this fix into master but leave the back branches alone (for now anyway). Bug: #18953 Reported-by: Alexander Lakhin <exclusion@gmail.com> Diagnosed-by: Richard Guo <guofenglinux@gmail.com> Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/18953-1c9883a9d4afeb30@postgresql.org
Diffstat (limited to 'src/extend/array')
0 files changed, 0 insertions, 0 deletions