Commit 43a9a2fb authored by Tom Lane's avatar Tom Lane

Make fixed_paramref_hook behave properly when there are 'unused' slots

in the parameter array.  Noted while experimenting with an example
from Pavel.  This wouldn't come up in normal use, but it ought to honor
the specification that a parameter array can have unused slots.
parent b2aab424
......@@ -17,7 +17,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/parser/parse_param.c,v 2.2 2010/01/02 16:57:50 momjian Exp $
* $PostgreSQL: pgsql/src/backend/parser/parse_param.c,v 2.3 2010/01/13 01:17:07 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -100,8 +100,9 @@ fixed_paramref_hook(ParseState *pstate, ParamRef *pref)
int paramno = pref->number;
Param *param;
/* Check parameter number is in range */
if (paramno <= 0 || paramno > parstate->numParams)
/* Check parameter number is valid */
if (paramno <= 0 || paramno > parstate->numParams ||
!OidIsValid(parstate->paramTypes[paramno - 1]))
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_PARAMETER),
errmsg("there is no parameter $%d", paramno),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment