On Tue, Aug 2, 2011 at 3:45 PM, Heikki Linnakangas <
> On 02.08.2011 12:54, Ashutosh Bapat wrote:
>> Hi All,
>> I am looking at usage of bound parameters.
>> In functions SPI_cursor_open_with_args() and SPI_cursor_open_with_args()
>> parameters are flagged as constants and passed to the planner in following
>> paramLI = _SPI_convert_params(nargs, argtypes,
>> Values, Nulls,
>> _SPI_prepare_plan(src,&plan, paramLI);
>> The bound params "paramLI" are then passed to the planner as boundParams.
>> Before actually planning the query, these parameters are evaluated duing
>> constant evaluation (eval_const_expressions_**mutator()), and the Param
>> are replaced with Constant nodes.
>> Further, while executing such queries we pass the paramLI structure to the
>> execution routine e.g. _SPI_execute_plan(). These parameter values are
>> stored in "EState" structure. But, since these parameters are already
>> into queries, it looks like parameter values stored in EState are never
>> Is this correct? Or somewhere we use those parameter values?
> That is correct, at the moment. PARAM_FLAG_CONST means that the planner is
> free evaluate the params during planning, but it doesn't have to. You still
> need to pass the params in _SPI_execute_plan() in case the planner decided
> to not convert some params to Consts, even though as the code stands today
> it always will.
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com
The Enterprise Postgres Company
In response to
pgsql-hackers by date
|Next:||From: Heikki Linnakangas||Date: 2011-08-02 11:03:47|
|Subject: Re: Hot standby and GiST page splits (was Re: WIP: Fast
GiST index build)|
|Previous:||From: Heikki Linnakangas||Date: 2011-08-02 10:15:48|
|Subject: Re: Doubt about boundParams|