aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r--src/backend/parser/parse_expr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index 7c72ae9e22a..b1b6ea81456 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parse_expr.c,v 1.198 2006/10/04 00:29:55 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_expr.c,v 1.199 2006/12/10 22:13:26 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -572,6 +572,7 @@ transformParamRef(ParseState *pstate, ParamRef *pref)
param->paramkind = PARAM_EXTERN;
param->paramid = paramno;
param->paramtype = toppstate->p_paramtypes[paramno - 1];
+ param->paramtypmod = -1;
return (Node *) param;
}
@@ -1180,6 +1181,7 @@ transformSubLink(ParseState *pstate, SubLink *sublink)
param->paramkind = PARAM_SUBLINK;
param->paramid = tent->resno;
param->paramtype = exprType((Node *) tent->expr);
+ param->paramtypmod = exprTypmod((Node *) tent->expr);
right_list = lappend(right_list, param);
}
@@ -1721,6 +1723,8 @@ exprTypmod(Node *expr)
}
}
break;
+ case T_Param:
+ return ((Param *) expr)->paramtypmod;
case T_FuncExpr:
{
int32 coercedTypmod;