diff options
author | David Rowley <drowley@postgresql.org> | 2025-10-04 14:30:03 +1300 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2025-10-04 14:30:03 +1300 |
commit | 03d40e4b523b2075c198aa89d9445ea8297f8eca (patch) | |
tree | a94bd60a859a868e19f7c068d88dc4ad16fd9ef3 /contrib/rtree_gist/README.rtree_gist | |
parent | 5092aae431e3e1a20324ea3a42a181c63f703d0d (diff) |
Teach UNION planner to remove dummy inputsHEADorigin/masterorigin/HEADmaster
This adjusts UNION planning so that the planner produces more optimal
plans when one or more of the UNION's subqueries have been proven to be
empty (a dummy rel).
If any of the inputs are empty, then that input can be removed from the
Append / MergeAppend. Previously, a const-false "Result" node would
appear to represent this. Removing empty inputs has a few extra
benefits when only 1 union child remains as it means the Append or
MergeAppend can be removed in setrefs.c, making the plan slightly faster
to execute. Also, we can provide better n_distinct estimates by looking
at the sole remaining input rel's statistics.
Author: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CAApHDvri53PPF76c3M94_QNWbJfXjyCnjXuj_2=LYM-0m8WZtw@mail.gmail.com
Diffstat (limited to 'contrib/rtree_gist/README.rtree_gist')
0 files changed, 0 insertions, 0 deletions