|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | PartitionPruneContext |
Macros | |
| #define | PruneCxtStateIdx(partnatts, step_id, keyno) ((partnatts) * (step_id) + (keyno)) |
Typedefs | |
| typedef struct PlannerInfo | PlannerInfo |
| typedef struct RelOptInfo | RelOptInfo |
| typedef struct PartitionPruneContext | PartitionPruneContext |
Functions | |
| int | make_partition_pruneinfo (PlannerInfo *root, RelOptInfo *parentrel, List *subpaths, List *prunequal) |
| Bitmapset * | prune_append_rel_partitions (RelOptInfo *rel) |
| Bitmapset * | get_matching_partitions (PartitionPruneContext *context, List *pruning_steps) |
| #define PruneCxtStateIdx | ( | partnatts, | |
| step_id, | |||
| keyno | |||
| ) | ((partnatts) * (step_id) + (keyno)) |
Definition at line 70 of file partprune.h.
Definition at line 20 of file partprune.h.
Definition at line 21 of file partprune.h.
|
extern |
Definition at line 845 of file partprune.c.
References Assert, bms_add_member(), bms_add_range(), bms_next_member(), PartitionPruneContext::boundinfo, PartitionBoundInfoData::default_index, elog, ERROR, fb(), i, PartitionBoundInfoData::indexes, lfirst, list_length(), nodeTag, PartitionPruneContext::nparts, PartitionBoundInfoData::null_index, palloc0(), partition_bound_accepts_nulls, partition_bound_has_default, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, perform_pruning_base_step(), perform_pruning_combine_step(), PartitionPruneStep::step_id, and PartitionPruneContext::strategy.
Referenced by find_matching_subplans_recurse(), and prune_append_rel_partitions().
|
extern |
Definition at line 224 of file partprune.c.
References add_part_relids(), Assert, bms_add_member(), bms_add_range(), bms_copy(), bms_del_members(), bms_join(), bms_num_members(), fb(), find_base_rel(), i, IS_PARTITIONED_REL, lappend(), lfirst, list_length(), make_partitionedrel_pruneinfo(), makeNode, NIL, palloc0_array, pfree(), RELOPT_OTHER_MEMBER_REL, and root.
Referenced by create_append_plan(), and create_merge_append_plan().
|
extern |
Definition at line 779 of file partprune.c.
References Assert, RelOptInfo::baserestrictinfo, bms_add_range(), PartitionPruneContext::boundinfo, GeneratePruningStepsContext::contradictory, CurrentMemoryContext, enable_partition_pruning, PartitionPruneContext::exprcontext, PartitionPruneContext::exprstates, fb(), gen_partprune_steps(), get_matching_partitions(), list_length(), NIL, RelOptInfo::nparts, PartitionPruneContext::nparts, palloc0_array, PartitionPruneContext::partcollation, PartitionPruneContext::partnatts, PartitionPruneContext::partsupfunc, PARTTARGET_PLANNER, PartitionPruneContext::planstate, PartitionPruneContext::ppccontext, PartitionPruneContext::stepcmpfuncs, GeneratePruningStepsContext::steps, and PartitionPruneContext::strategy.
Referenced by expand_partitioned_rtentry().