88 *
99 *
1010 * IDENTIFICATION
11- * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.161 2004/05/30 23:40:26 neilc Exp $
11+ * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.162 2004/06/01 03:28:41 tgl Exp $
1212 *
1313 *-------------------------------------------------------------------------
1414 */
@@ -2826,12 +2826,11 @@ ExecInitExpr(Expr *node, PlanState *parent)
28262826 {
28272827 CaseExpr * caseexpr = (CaseExpr * ) node ;
28282828 CaseExprState * cstate = makeNode (CaseExprState );
2829- FastList outlist ;
2829+ List * outlist = NIL ;
28302830 ListCell * l ;
28312831
28322832 cstate -> xprstate .evalfunc = (ExprStateEvalFunc ) ExecEvalCase ;
28332833 cstate -> arg = ExecInitExpr (caseexpr -> arg , parent );
2834- FastListInit (& outlist );
28352834 foreach (l , caseexpr -> args )
28362835 {
28372836 CaseWhen * when = (CaseWhen * ) lfirst (l );
@@ -2842,9 +2841,9 @@ ExecInitExpr(Expr *node, PlanState *parent)
28422841 wstate -> xprstate .expr = (Expr * ) when ;
28432842 wstate -> expr = ExecInitExpr (when -> expr , parent );
28442843 wstate -> result = ExecInitExpr (when -> result , parent );
2845- FastAppend ( & outlist , wstate );
2844+ outlist = lappend ( outlist , wstate );
28462845 }
2847- cstate -> args = FastListValue ( & outlist ) ;
2846+ cstate -> args = outlist ;
28482847 cstate -> defresult = ExecInitExpr (caseexpr -> defresult , parent );
28492848 state = (ExprState * ) cstate ;
28502849 }
@@ -2853,20 +2852,19 @@ ExecInitExpr(Expr *node, PlanState *parent)
28532852 {
28542853 ArrayExpr * arrayexpr = (ArrayExpr * ) node ;
28552854 ArrayExprState * astate = makeNode (ArrayExprState );
2856- FastList outlist ;
2855+ List * outlist = NIL ;
28572856 ListCell * l ;
28582857
28592858 astate -> xprstate .evalfunc = (ExprStateEvalFunc ) ExecEvalArray ;
2860- FastListInit (& outlist );
28612859 foreach (l , arrayexpr -> elements )
28622860 {
28632861 Expr * e = (Expr * ) lfirst (l );
28642862 ExprState * estate ;
28652863
28662864 estate = ExecInitExpr (e , parent );
2867- FastAppend ( & outlist , estate );
2865+ outlist = lappend ( outlist , estate );
28682866 }
2869- astate -> elements = FastListValue ( & outlist ) ;
2867+ astate -> elements = outlist ;
28702868 /* do one-time catalog lookup for type info */
28712869 get_typlenbyvalalign (arrayexpr -> element_typeid ,
28722870 & astate -> elemlength ,
@@ -2879,11 +2877,10 @@ ExecInitExpr(Expr *node, PlanState *parent)
28792877 {
28802878 RowExpr * rowexpr = (RowExpr * ) node ;
28812879 RowExprState * rstate = makeNode (RowExprState );
2882- List * outlist ;
2880+ List * outlist = NIL ;
28832881 ListCell * l ;
28842882
28852883 rstate -> xprstate .evalfunc = (ExprStateEvalFunc ) ExecEvalRow ;
2886- outlist = NIL ;
28872884 foreach (l , rowexpr -> args )
28882885 {
28892886 Expr * e = (Expr * ) lfirst (l );
@@ -2912,20 +2909,19 @@ ExecInitExpr(Expr *node, PlanState *parent)
29122909 {
29132910 CoalesceExpr * coalesceexpr = (CoalesceExpr * ) node ;
29142911 CoalesceExprState * cstate = makeNode (CoalesceExprState );
2915- FastList outlist ;
2912+ List * outlist = NIL ;
29162913 ListCell * l ;
29172914
29182915 cstate -> xprstate .evalfunc = (ExprStateEvalFunc ) ExecEvalCoalesce ;
2919- FastListInit (& outlist );
29202916 foreach (l , coalesceexpr -> args )
29212917 {
29222918 Expr * e = (Expr * ) lfirst (l );
29232919 ExprState * estate ;
29242920
29252921 estate = ExecInitExpr (e , parent );
2926- FastAppend ( & outlist , estate );
2922+ outlist = lappend ( outlist , estate );
29272923 }
2928- cstate -> args = FastListValue ( & outlist ) ;
2924+ cstate -> args = outlist ;
29292925 state = (ExprState * ) cstate ;
29302926 }
29312927 break ;
@@ -2984,18 +2980,17 @@ ExecInitExpr(Expr *node, PlanState *parent)
29842980 break ;
29852981 case T_List :
29862982 {
2987- FastList outlist ;
2983+ List * outlist = NIL ;
29882984 ListCell * l ;
29892985
2990- FastListInit (& outlist );
29912986 foreach (l , (List * ) node )
29922987 {
2993- FastAppend ( & outlist ,
2994- ExecInitExpr ((Expr * ) lfirst (l ),
2995- parent ));
2988+ outlist = lappend ( outlist ,
2989+ ExecInitExpr ((Expr * ) lfirst (l ),
2990+ parent ));
29962991 }
29972992 /* Don't fall through to the "common" code below */
2998- return (ExprState * ) FastListValue ( & outlist ) ;
2993+ return (ExprState * ) outlist ;
29992994 }
30002995 default :
30012996 elog (ERROR , "unrecognized node type: %d" ,
0 commit comments