On 2018/06/06 14:10, David Rowley wrote: > I then decided that > I didn't like the way we need to check which params are in the Expr > each time we call partkey_datum_from_expr. It seems better to prepare > this in advance when building the pruning steps. I started work on > that, but soon realised that I'd need to pass a List of Bitmapsets to > the executor. This is a problem as Bitmapset is not a Node type and > cannot be copied with COPY_NODE_FIELD(). Probably this could be > refactored to instead of passing 3 Lists in the PartitionPruneStepOp > we could invent a new node type that just has 3 fields and store a > single List.
I wonder why we need to create those Bitmapsets in the planner? Why not in ExecSetupPartitionPruneState()? For example, like how context->exprstates is initialized. Thanks, Amit