mirror of
https://github.com/postgres/postgres.git
synced 2026-02-03 20:40:14 -05:00
Add a new module backend/partitioning/partprune.c, implementing a more sophisticated algorithm for partition pruning. The new module uses each partition's "boundinfo" for pruning instead of constraint exclusion, based on an idea proposed by Robert Haas of a "pruning program": a list of steps generated from the query quals which are run iteratively to obtain a list of partitions that must be scanned in order to satisfy those quals. At present, this targets planner-time partition pruning, but there exist further patches to apply partition pruning at execution time as well. This commit also moves some definitions from include/catalog/partition.h to a new file include/partitioning/partbounds.h, in an attempt to rationalize partitioning related code. Authors: Amit Langote, David Rowley, Dilip Kumar Reviewers: Robert Haas, Kyotaro Horiguchi, Ashutosh Bapat, Jesper Pedersen. Discussion: https://postgr.es/m/098b9c71-1915-1a2a-8d52-1a7a50ce79e8@lab.ntt.co.jp |
||
|---|---|---|
| .. | ||
| clauses.h | ||
| cost.h | ||
| geqo.h | ||
| geqo_copy.h | ||
| geqo_gene.h | ||
| geqo_misc.h | ||
| geqo_mutation.h | ||
| geqo_pool.h | ||
| geqo_random.h | ||
| geqo_recombination.h | ||
| geqo_selection.h | ||
| joininfo.h | ||
| orclauses.h | ||
| pathnode.h | ||
| paths.h | ||
| placeholder.h | ||
| plancat.h | ||
| planmain.h | ||
| planner.h | ||
| predtest.h | ||
| prep.h | ||
| restrictinfo.h | ||
| subselect.h | ||
| tlist.h | ||
| var.h | ||