]> granicus.if.org Git - postgresql/commitdiff
Some more de-FastList-ification.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 1 Jun 2004 03:28:48 +0000 (03:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 1 Jun 2004 03:28:48 +0000 (03:28 +0000)
src/backend/executor/execQual.c
src/backend/parser/gram.y
src/backend/parser/parse_target.c

index d3ec919bcc5c546f746c0d3baef41ebd0443e979..e53820efed047ba7c6d360731abe838fb1cf2916 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.161 2004/05/30 23:40:26 neilc Exp $
+ *       $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.162 2004/06/01 03:28:41 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2826,12 +2826,11 @@ ExecInitExpr(Expr *node, PlanState *parent)
                        {
                                CaseExpr   *caseexpr = (CaseExpr *) node;
                                CaseExprState *cstate = makeNode(CaseExprState);
-                               FastList        outlist;
+                               List       *outlist = NIL;
                                ListCell   *l;
 
                                cstate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalCase;
                                cstate->arg = ExecInitExpr(caseexpr->arg, parent);
-                               FastListInit(&outlist);
                                foreach(l, caseexpr->args)
                                {
                                        CaseWhen   *when = (CaseWhen *) lfirst(l);
@@ -2842,9 +2841,9 @@ ExecInitExpr(Expr *node, PlanState *parent)
                                        wstate->xprstate.expr = (Expr *) when;
                                        wstate->expr = ExecInitExpr(when->expr, parent);
                                        wstate->result = ExecInitExpr(when->result, parent);
-                                       FastAppend(&outlist, wstate);
+                                       outlist = lappend(outlist, wstate);
                                }
-                               cstate->args = FastListValue(&outlist);
+                               cstate->args = outlist;
                                cstate->defresult = ExecInitExpr(caseexpr->defresult, parent);
                                state = (ExprState *) cstate;
                        }
@@ -2853,20 +2852,19 @@ ExecInitExpr(Expr *node, PlanState *parent)
                        {
                                ArrayExpr  *arrayexpr = (ArrayExpr *) node;
                                ArrayExprState *astate = makeNode(ArrayExprState);
-                               FastList        outlist;
+                               List       *outlist = NIL;
                                ListCell   *l;
 
                                astate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalArray;
-                               FastListInit(&outlist);
                                foreach(l, arrayexpr->elements)
                                {
                                        Expr       *e = (Expr *) lfirst(l);
                                        ExprState  *estate;
 
                                        estate = ExecInitExpr(e, parent);
-                                       FastAppend(&outlist, estate);
+                                       outlist = lappend(outlist, estate);
                                }
-                               astate->elements = FastListValue(&outlist);
+                               astate->elements = outlist;
                                /* do one-time catalog lookup for type info */
                                get_typlenbyvalalign(arrayexpr->element_typeid,
                                                                         &astate->elemlength,
@@ -2879,11 +2877,10 @@ ExecInitExpr(Expr *node, PlanState *parent)
                        {
                                RowExpr    *rowexpr = (RowExpr *) node;
                                RowExprState *rstate = makeNode(RowExprState);
-                               List       *outlist;
+                               List       *outlist = NIL;
                                ListCell   *l;
 
                                rstate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalRow;
-                               outlist = NIL;
                                foreach(l, rowexpr->args)
                                {
                                        Expr       *e = (Expr *) lfirst(l);
@@ -2912,20 +2909,19 @@ ExecInitExpr(Expr *node, PlanState *parent)
                        {
                                CoalesceExpr *coalesceexpr = (CoalesceExpr *) node;
                                CoalesceExprState *cstate = makeNode(CoalesceExprState);
-                               FastList        outlist;
+                               List       *outlist = NIL;
                                ListCell   *l;
 
                                cstate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalCoalesce;
-                               FastListInit(&outlist);
                                foreach(l, coalesceexpr->args)
                                {
                                        Expr       *e = (Expr *) lfirst(l);
                                        ExprState  *estate;
 
                                        estate = ExecInitExpr(e, parent);
-                                       FastAppend(&outlist, estate);
+                                       outlist = lappend(outlist, estate);
                                }
-                               cstate->args = FastListValue(&outlist);
+                               cstate->args = outlist;
                                state = (ExprState *) cstate;
                        }
                        break;
@@ -2984,18 +2980,17 @@ ExecInitExpr(Expr *node, PlanState *parent)
                        break;
                case T_List:
                        {
-                               FastList        outlist;
+                               List       *outlist = NIL;
                                ListCell   *l;
 
-                               FastListInit(&outlist);
                                foreach(l, (List *) node)
                                {
-                                       FastAppend(&outlist,
-                                                          ExecInitExpr((Expr *) lfirst(l),
-                                                                                       parent));
+                                       outlist = lappend(outlist,
+                                                                         ExecInitExpr((Expr *) lfirst(l),
+                                                                                                  parent));
                                }
                                /* Don't fall through to the "common" code below */
-                               return (ExprState *) FastListValue(&outlist);
+                               return (ExprState *) outlist;
                        }
                default:
                        elog(ERROR, "unrecognized node type: %d",
index db783ae0ba70cb25cbd36549defd16bae4f00810..249c59077092303598e7c71a59c7415463dce9be 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.458 2004/05/30 23:40:34 neilc Exp $
+ *       $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.459 2004/06/01 03:28:48 tgl Exp $
  *
  * HISTORY
  *       AUTHOR                        DATE                    MAJOR EVENT
@@ -108,7 +108,6 @@ static void doNegateFloat(Value *v);
        OnCommitAction          oncommit;
        ContainsOids            withoids;
        List                            *list;
-       FastList                        fastlist;
        Node                            *node;
        Value                           *value;
        ColumnRef                       *columnref;
@@ -6820,15 +6819,11 @@ opt_indirection:
 
 expr_list:     a_expr
                                {
-                                       FastList *dst = (FastList *) &$$;
-                                       makeFastList1(dst, $1);
+                                       $$ = list_make1($1);
                                }
                        | expr_list ',' a_expr
                                {
-                                       FastList *dst = (FastList *) &$$;
-                                       FastList *src = (FastList *) &$1;
-                                       *dst = *src;
-                                       FastAppend(dst, $3);
+                                       $$ = lappend($1, $3);
                                }
                ;
 
index 2cf870d8848ae1f060f62e80a17fc72499b53c63..3856005fab64bf426ba278444373bc5ac59eeb55 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.119 2004/05/30 23:40:35 neilc Exp $
+ *       $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.120 2004/06/01 03:28:48 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -92,11 +92,9 @@ transformTargetEntry(ParseState *pstate,
 List *
 transformTargetList(ParseState *pstate, List *targetlist)
 {
-       FastList        p_target;
+       List       *p_target = NIL;
        ListCell   *o_target;
 
-       FastListInit(&p_target);
-
        foreach(o_target, targetlist)
        {
                ResTarget  *res = (ResTarget *) lfirst(o_target);
@@ -116,8 +114,8 @@ transformTargetList(ParseState *pstate, List *targetlist)
                                         * Target item is a single '*', expand all tables
                                         * (e.g., SELECT * FROM emp)
                                         */
-                                       FastConc(&p_target,
-                                                        ExpandAllTables(pstate));
+                                       p_target = list_concat(p_target,
+                                                                                  ExpandAllTables(pstate));
                                }
                                else
                                {
@@ -173,34 +171,34 @@ transformTargetList(ParseState *pstate, List *targetlist)
                                                rte = addImplicitRTE(pstate, makeRangeVar(schemaname,
                                                                                                                                  relname));
 
-                                       FastConc(&p_target,
-                                                        expandRelAttrs(pstate, rte));
+                                       p_target = list_concat(p_target,
+                                                                                  expandRelAttrs(pstate, rte));
                                }
                        }
                        else
                        {
                                /* Plain ColumnRef node, treat it as an expression */
-                               FastAppend(&p_target,
-                                                  transformTargetEntry(pstate,
-                                                                                               res->val,
-                                                                                               NULL,
-                                                                                               res->name,
-                                                                                               false));
+                               p_target = lappend(p_target,
+                                                                  transformTargetEntry(pstate,
+                                                                                                               res->val,
+                                                                                                               NULL,
+                                                                                                               res->name,
+                                                                                                               false));
                        }
                }
                else
                {
                        /* Everything else but ColumnRef */
-                       FastAppend(&p_target,
-                                          transformTargetEntry(pstate,
-                                                                                       res->val,
-                                                                                       NULL,
-                                                                                       res->name,
-                                                                                       false));
+                       p_target = lappend(p_target,
+                                                          transformTargetEntry(pstate,
+                                                                                                       res->val,
+                                                                                                       NULL,
+                                                                                                       res->name,
+                                                                                                       false));
                }
        }
 
-       return FastListValue(&p_target);
+       return p_target;
 }