diff options
Diffstat (limited to 'src/include/partitioning/partprune.h')
| -rw-r--r-- | src/include/partitioning/partprune.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/include/partitioning/partprune.h b/src/include/partitioning/partprune.h index 52fadc7caf0..f68b6c9935a 100644 --- a/src/include/partitioning/partprune.h +++ b/src/include/partitioning/partprune.h @@ -37,9 +37,23 @@ typedef struct PartitionPruneContext /* Partition boundary info */ PartitionBoundInfo boundinfo; + + /* + * Can be set when the context is used from the executor to allow params + * found matching the partition key to be evaulated. + */ + PlanState *planstate; + + /* + * Parameters that are safe to be used for partition pruning. execparams + * are not safe to use until the executor is running. + */ + Bitmapset *safeparams; } PartitionPruneContext; +extern List *make_partition_pruneinfo(PlannerInfo *root, List *partition_rels, + List *subpaths, List *prunequal); extern Relids prune_append_rel_partitions(RelOptInfo *rel); extern Bitmapset *get_matching_partitions(PartitionPruneContext *context, List *pruning_steps); |
