From: Vadim B. Mikheev Date: Thu, 12 Jun 1997 17:26:15 +0000 (+0000) Subject: Fix replace_agg_clause() for unary operators. X-Git-Tag: REL6_1~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0f576413bc082c7ec69a8cec7f609b79070b3187;p=postgresql Fix replace_agg_clause() for unary operators. --- diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index bf8c60b9e6..4527837e9d 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.3 1997/04/24 15:54:52 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.4 1997/06/12 17:26:15 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -690,10 +690,13 @@ replace_agg_clause(Node *clause, List *subplanTargetList) * This is an operator. Recursively call this routine * for both its left and right operands */ - replace_agg_clause((Node*)get_leftop((Expr*)clause), - subplanTargetList); - replace_agg_clause((Node*)get_rightop((Expr*)clause), - subplanTargetList); + Node *left = (Node*)get_leftop((Expr*)clause); + Node *right = (Node*)get_rightop((Expr*)clause); + + if ( left != (Node*) NULL ) + replace_agg_clause(left, subplanTargetList); + if ( right != (Node*) NULL ) + replace_agg_clause(right, subplanTargetList); } else if (IsA(clause,Param) || IsA(clause,Const)) { /* do nothing! */ } else {