Vaibhav Kaushal <vaibhavkaushal123@gmail.com> writes:
> So, I think that the function ExecSetParamPlan (as the code suggests
> too) is called _once_ in any plan/expression and that should be mostly
> for a sub-select query.
> Kindly correct me if I am wrong. Since I am not able to understand this
> usecase completely, a sample query which is capable of calling this
> function (ExecSetParamPlan) could show some light. It would be really
> kind of you / anyone to show me a query executable through psql which
> can actually call ExecSetParamPlan and involves the use of a on-disk
> relation.
regression=# explain verbose select *, (select sum(f1) from int4_tbl) ss from int8_tbl;
QUERYPLAN
-----------------------------------------------------------------------------Seq Scan on public.int8_tbl
(cost=1.07..2.12rows=5 width=16) Output: int8_tbl.q1, int8_tbl.q2, $0 InitPlan 1 (returns $0) -> Aggregate
(cost=1.06..1.07rows=1 width=4) Output: sum(int4_tbl.f1) -> Seq Scan on public.int4_tbl
(cost=0.00..1.05rows=5 width=4) Output: int4_tbl.f1
(7 rows)
$0 here represents the PARAM_EXEC Param.
regards, tom lane