I wrote:
> I think there's another way to think about it: what about saying that
> the query's target relation(s) are subject to pruning, while others
> are not? Then you do not need an executor flag, you just need to
> look at the estate->es_result_relations array (or maybe even only at
> estate->es_result_relation_info).
After a little bit I remembered there was already a function for this.
So specifically, I'd suggest using ExecRelationIsTargetRelation()
to decide whether to mark the scan as requiring pruning.
regards, tom lane