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.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/include/partitioning/partprune.h b/src/include/partitioning/partprune.h
index a5568abce65..c9fe95dc30c 100644
--- a/src/include/partitioning/partprune.h
+++ b/src/include/partitioning/partprune.h
@@ -50,8 +50,17 @@ typedef struct PartitionPruneContext
* are not safe to use until the executor is running.
*/
Bitmapset *safeparams;
+
+ /*
+ * Array of ExprStates, indexed as per PruneCtxStateIdx; one for each
+ * partkey in each pruning step. Allocated if planstate is non-NULL,
+ * otherwise NULL.
+ */
+ ExprState **exprstates;
} PartitionPruneContext;
+#define PruneCxtStateIdx(partnatts, step_id, keyno) \
+ ((partnatts) * (step_id) + (keyno))
extern List *make_partition_pruneinfo(PlannerInfo *root, List *partition_rels,
List *subpaths, List *prunequal);