summaryrefslogtreecommitdiff
path: root/src/include/partitioning/partprune.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/partitioning/partprune.h')
-rw-r--r--src/include/partitioning/partprune.h14
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);