On 12 September 2014 15:30, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 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.
Sounds cool. Thanks both, this is sounding like a viable route now.
-- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services