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.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index 8c3e64d6d86..7976f5e7795 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.81 2000/06/15 03:32:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.82 2000/08/08 15:42:03 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -133,7 +133,6 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
param->paramid = (AttrNumber) paramno;
param->paramname = "<unnamed>";
param->paramtype = toid;
- param->param_tlist = NIL;
result = transformIndirection(pstate, (Node *) param,
pno->indirection);
/* cope with typecast applied to param */
@@ -381,9 +380,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
newop = makeOper(oprid(optup), /* opno */
InvalidOid, /* opid */
- opform->oprresult,
- 0,
- NULL);
+ opform->oprresult);
sublink->oper = lappend(sublink->oper, newop);
}
if (left_list != NIL)
@@ -579,6 +576,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
case T_Param:
case T_Aggref:
case T_ArrayRef:
+ case T_FieldSelect:
case T_RelabelType:
{
result = (Node *) expr;
@@ -690,6 +688,9 @@ exprType(Node *expr)
case T_Param:
type = ((Param *) expr)->paramtype;
break;
+ case T_FieldSelect:
+ type = ((FieldSelect *) expr)->resulttype;
+ break;
case T_RelabelType:
type = ((RelabelType *) expr)->resulttype;
break;
@@ -773,6 +774,9 @@ exprTypmod(Node *expr)
return coercedTypmod;
}
break;
+ case T_FieldSelect:
+ return ((FieldSelect *) expr)->resulttypmod;
+ break;
case T_RelabelType:
return ((RelabelType *) expr)->resulttypmod;
break;