Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf22d8e6

Browse files
committed
Function cleanupo for List* when it should be Node *.
1 parentcb3ce64 commitf22d8e6

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

‎src/backend/optimizer/plan/setrefs.c

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.13 1998/01/1415:48:21 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.14 1998/01/1419:55:53 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -42,7 +42,7 @@ static List *replace_subclause_joinvar_refs(List *clauses,
4242
List*outer_tlist,List*inner_tlist);
4343
staticVar*replace_joinvar_refs(Var*var,List*outer_tlist,List*inner_tlist);
4444
staticList*tlist_temp_references(Oidtempid,List*tlist);
45-
staticvoidreplace_result_clause(List*clause,List*subplanTargetList);
45+
staticvoidreplace_result_clause(Node*clause,List*subplanTargetList);
4646
staticboolOperandIsInner(Node*opnd,intinner_relid);
4747
staticvoidreplace_agg_clause(Node*expr,List*targetlist);
4848
staticNode*del_agg_clause(Node*clause);
@@ -554,7 +554,7 @@ set_result_tlist_references(Result *resultNode)
554554
{
555555
entry= (TargetEntry*)lfirst(t);
556556
expr= (Expr*)get_expr(entry);
557-
replace_result_clause((List*)expr,subplanTargetList);
557+
replace_result_clause((Node*)expr,subplanTargetList);
558558
}
559559
}
560560

@@ -568,16 +568,15 @@ set_result_tlist_references(Result *resultNode)
568568
*
569569
*/
570570
staticvoid
571-
replace_result_clause(List*clause,
571+
replace_result_clause(Node*clause,
572572
List*subplanTargetList)/* target list of the
573573
* subplan */
574574
{
575575
List*t;
576-
List*subClause;
577-
TargetEntry*subplanVar;
578576

579577
if (IsA(clause,Var))
580578
{
579+
TargetEntry*subplanVar;
581580

582581
/*
583582
* Ha! A Var node!
@@ -591,55 +590,59 @@ replace_result_clause(List *clause,
591590
((Var*)clause)->varno= (Index)OUTER;
592591
((Var*)clause)->varattno=subplanVar->resdom->resno;
593592
}
594-
elseif (is_funcclause((Node*)clause))
593+
elseif (IsA(clause,Aggreg))
595594
{
595+
replace_result_clause(((Aggreg*)clause)->target,subplanTargetList);
596+
}
597+
elseif (is_funcclause(clause))
598+
{
599+
List*subExpr;
596600

597601
/*
598602
* This is a function. Recursively call this routine for its
599603
* arguments...
600604
*/
601-
subClause= ((Expr*)clause)->args;
602-
foreach(t,subClause)
605+
subExpr= ((Expr*)clause)->args;
606+
foreach(t,subExpr)
603607
{
604608
replace_result_clause(lfirst(t),subplanTargetList);
605609
}
606610
}
607611
elseif (IsA(clause,ArrayRef))
608612
{
609613
ArrayRef*aref= (ArrayRef*)clause;
610-
614+
611615
/*
612616
* This is an arrayref. Recursively call this routine for its
613617
* expression and its index expression...
614618
*/
615-
subClause=aref->refupperindexpr;
616-
foreach(t,subClause)
619+
foreach(t,aref->refupperindexpr)
617620
{
618621
replace_result_clause(lfirst(t),subplanTargetList);
619622
}
620-
subClause=aref->reflowerindexpr;
621-
foreach(t,subClause)
623+
foreach(t,aref->reflowerindexpr)
622624
{
623625
replace_result_clause(lfirst(t),subplanTargetList);
624626
}
625-
replace_result_clause((List*)aref->refexpr,
627+
replace_result_clause(aref->refexpr,
626628
subplanTargetList);
627-
replace_result_clause((List*)aref->refassgnexpr,
629+
replace_result_clause(aref->refassgnexpr,
628630
subplanTargetList);
629631
}
630-
elseif (is_opclause((Node*)clause))
632+
elseif (is_opclause(clause))
631633
{
634+
Node*subNode;
632635

633636
/*
634637
* This is an operator. Recursively call this routine for both its
635638
* left and right operands
636639
*/
637-
subClause= (List*)get_leftop((Expr*)clause);
638-
replace_result_clause(subClause,subplanTargetList);
639-
subClause= (List*)get_rightop((Expr*)clause);
640-
replace_result_clause(subClause,subplanTargetList);
640+
subNode= (Node*)get_leftop((Expr*)clause);
641+
replace_result_clause(subNode,subplanTargetList);
642+
subNode= (Node*)get_rightop((Expr*)clause);
643+
replace_result_clause(subNode,subplanTargetList);
641644
}
642-
elseif (IsA(clause,Param)||IsA(clause,Const))
645+
elseif (IsA(clause,Param)||IsA(clause,Const))
643646
{
644647
/* do nothing! */
645648
}
@@ -731,10 +734,9 @@ static void
731734
replace_agg_clause(Node*clause,List*subplanTargetList)
732735
{
733736
List*t;
734-
TargetEntry*subplanVar;
735-
736737
if (IsA(clause,Var))
737738
{
739+
TargetEntry*subplanVar;
738740

739741
/*
740742
* Ha! A Var node!
@@ -784,7 +786,6 @@ replace_agg_clause(Node *clause, List *subplanTargetList)
784786
}
785787
elseif (is_opclause(clause))
786788
{
787-
788789
/*
789790
* This is an operator. Recursively call this routine for both its
790791
* left and right operands

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp