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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index 6678c791791..7daf1617dcf 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.16 1998/02/05 17:22:29 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.17 1998/02/06 16:46:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -243,11 +243,13 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
SubLink *sublink = (SubLink *) expr;
QueryTreeList *qtree;
List *llist;
-
+
+ pstate->p_hasSubLinks = true;
+
qtree = parse_analyze(lcons(sublink->subselect,NIL), pstate);
Assert(qtree->len == 1);
sublink->subselect = (Node *) qtree->qtrees[0];
-
+
foreach(llist, sublink->lefthand)
lfirst(llist) = transformExpr(pstate, lfirst(llist), precedence);
@@ -267,7 +269,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
{
Node *lexpr = lfirst(elist);
Node *rexpr = lfirst(right_expr);
- TargetEntry *tent = (TargetEntry *)rexpr;
+ TargetEntry *tent = (TargetEntry *)rexpr;
Expr *op_expr;
op_expr = make_op(op, lexpr, tent->expr);