Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> writes:
> Looking at ExecInitXYZ() functions, we can observe that every such
> function has a statement like
> XYZstate->ps.state = estate;
> where it saves estate in the PlanState.
Yeah ...
> I am wondering why don't we instead save estate in ExecInitNode() itself like
> result->estate = estate;
That would only work if there were no situation where the field needed to
be already valid during the node init function. I think that's probably
wrong already (check ExecInitExpr for instance) and it certainly might
be wrong in future.
regards, tom lane