Vaibhav Kaushal <vaibhavkaushal123@gmail.com> writes:
> Hello all,
> I was going through the Expression Evaluator and was trying to
> understand how the expressions are formed and evaluated. I was informed
> on the IRC channel that the PARAM nodes are quite important and many
> well written client applications use PARAMs for sending query to the
> backend. I found while looking at the ExecEvalParam function that a call
> is made to the ExecSetParamPlan for the first time when the PARAM is
> caught in the ExprState tree.
> I am confused about how many times the call is made to the
> ExecSetParamPlan funtion.
Indeed ... ExecSetParamPlan has nothing at all to do with Params
representing values coming from a client (PARAM_EXTERN parameters).
It's used in connection with PARAM_EXEC parameters that represent
the outputs of InitPlan subplans (that is, execute-only-once subplans).
regards, tom lane