git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b2aab42)
Make fixed_paramref_hook behave properly when there are 'unused' slots
2010年1月13日 01:17:07 +0000 (01:17 +0000)
2010年1月13日 01:17:07 +0000 (01:17 +0000)
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.


diff --git a/src/backend/parser/parse_param.c b/src/backend/parser/parse_param.c
index 53f3d625d039c845e99124982ab961a955646b30..b1282a14626679be7c6832b2faf2689452ca1006 100644 (file)
--- a/src/backend/parser/parse_param.c
+++ b/src/backend/parser/parse_param.c
@@ -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),
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /