Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 80c6847

Browse files
committed
Desultory de-FastList-ification. RelOptInfo.reltargetlist is back to
being a plain List.
1 parent 6c33054 commit 80c6847

File tree

8 files changed

+38
-45
lines changed

8 files changed

+38
-45
lines changed

src/backend/optimizer/path/allpaths.c

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.116 2004/05/30 23:40:28 neilc Exp $
11+
* $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.117 2004/06/01 03:02:51 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -246,7 +246,6 @@ set_inherited_rel_pathlist(Query *root, RelOptInfo *rel,
246246
RangeTblEntry *childrte;
247247
Oid childOID;
248248
RelOptInfo *childrel;
249-
List *reltlist;
250249
ListCell *parentvars;
251250
ListCell *childvars;
252251

@@ -268,14 +267,12 @@ set_inherited_rel_pathlist(Query *root, RelOptInfo *rel,
268267
* the individual tables. Also, we just zap attr_needed rather
269268
* than trying to adjust it; it won't be looked at in the child.
270269
*/
271-
reltlist = FastListValue(&rel->reltargetlist);
272-
reltlist = (List *)
273-
adjust_inherited_attrs((Node *) reltlist,
270+
childrel->reltargetlist = (List *)
271+
adjust_inherited_attrs((Node *) rel->reltargetlist,
274272
parentRTindex,
275273
parentOID,
276274
childRTindex,
277275
childOID);
278-
FastListFromList(&childrel->reltargetlist, reltlist);
279276
childrel->attr_needed = NULL;
280277
childrel->baserestrictinfo = (List *)
281278
adjust_inherited_attrs((Node *) rel->baserestrictinfo,
@@ -300,8 +297,8 @@ set_inherited_rel_pathlist(Query *root, RelOptInfo *rel,
300297
if (childrel->width > rel->width)
301298
rel->width = childrel->width;
302299

303-
childvars = list_head(FastListValue(&childrel->reltargetlist));
304-
foreach(parentvars, FastListValue(&rel->reltargetlist))
300+
forboth(parentvars, rel->reltargetlist,
301+
childvars, childrel->reltargetlist)
305302
{
306303
Var *parentvar = (Var *) lfirst(parentvars);
307304
Var *childvar = (Var *) lfirst(childvars);
@@ -310,7 +307,6 @@ set_inherited_rel_pathlist(Query *root, RelOptInfo *rel,
310307

311308
if (childrel->attr_widths[childndx] > rel->attr_widths[parentndx])
312309
rel->attr_widths[parentndx] = childrel->attr_widths[childndx];
313-
childvars = lnext(childvars);
314310
}
315311
}
316312

src/backend/optimizer/path/costsize.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
* Portions Copyright (c) 1994, Regents of the University of California
5050
*
5151
* IDENTIFICATION
52-
* $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.128 2004/05/30 23:40:28 neilc Exp $
52+
* $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.129 2004/06/01 03:02:52 tgl Exp $
5353
*
5454
*-------------------------------------------------------------------------
5555
*/
@@ -1701,7 +1701,7 @@ set_rel_width(Query *root, RelOptInfo *rel)
17011701
int32 tuple_width = 0;
17021702
ListCell *tllist;
17031703

1704-
foreach(tllist, FastListValue(&rel->reltargetlist))
1704+
foreach(tllist, rel->reltargetlist)
17051705
{
17061706
Var *var = (Var *) lfirst(tllist);
17071707
int ndx = var->varattno - rel->min_attr;

src/backend/optimizer/path/pathkeys.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* Portions Copyright (c) 1994, Regents of the University of California
1212
*
1313
* IDENTIFICATION
14-
* $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.58 2004/05/30 23:40:28 neilc Exp $
14+
* $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.59 2004/06/01 03:02:52 tgl Exp $
1515
*
1616
*-------------------------------------------------------------------------
1717
*/
@@ -721,12 +721,11 @@ find_indexkey_var(Query *root, RelOptInfo *rel, AttrNumber varattno)
721721
vartypeid;
722722
int32 type_mod;
723723

724-
foreach(temp, FastListValue(&rel->reltargetlist))
724+
foreach(temp, rel->reltargetlist)
725725
{
726726
Var *var = (Var *) lfirst(temp);
727727

728-
if (IsA(var, Var) &&
729-
var->varattno == varattno)
728+
if (var->varattno == varattno)
730729
return var;
731730
}
732731

src/backend/optimizer/plan/createplan.c

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*
1111
*
1212
* IDENTIFICATION
13-
* $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.171 2004/05/30 23:40:28 neilc Exp $
13+
* $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.172 2004/06/01 03:02:57 tgl Exp $
1414
*
1515
*-------------------------------------------------------------------------
1616
*/
@@ -261,20 +261,19 @@ create_scan_plan(Query *root, Path *best_path)
261261
static List *
262262
build_relation_tlist(RelOptInfo *rel)
263263
{
264-
FastList tlist;
264+
List *tlist = NIL;
265265
int resdomno = 1;
266266
ListCell *v;
267267

268-
FastListInit(&tlist);
269-
foreach(v, FastListValue(&rel->reltargetlist))
268+
foreach(v, rel->reltargetlist)
270269
{
271270
/* Do we really need to copy here? Not sure */
272271
Var *var = (Var *) copyObject(lfirst(v));
273272

274-
FastAppend(&tlist, create_tl_element(var, resdomno));
273+
tlist = lappend(tlist, create_tl_element(var, resdomno));
275274
resdomno++;
276275
}
277-
return FastListValue(&tlist);
276+
return tlist;
278277
}
279278

280279
/*
@@ -701,7 +700,7 @@ create_indexscan_plan(Query *root,
701700
List *indxstrategy;
702701
List *indxsubtype;
703702
List *indxlossy;
704-
FastList indexids;
703+
List *indexids;
705704
ListCell *l;
706705
IndexScan *scan_plan;
707706

@@ -737,12 +736,12 @@ create_indexscan_plan(Query *root,
737736
scan_clauses = order_qual_clauses(root, scan_clauses);
738737

739738
/* Build list of index OIDs */
740-
FastListInit(&indexids);
739+
indexids = NIL;
741740
foreach(l, best_path->indexinfo)
742741
{
743742
IndexOptInfo *index = (IndexOptInfo *) lfirst(l);
744743

745-
FastAppendo(&indexids, index->indexoid);
744+
indexids = lappend_oid(indexids, index->indexoid);
746745
}
747746

748747
/*
@@ -801,7 +800,7 @@ create_indexscan_plan(Query *root,
801800
scan_plan = make_indexscan(tlist,
802801
qpqual,
803802
baserelid,
804-
FastListValue(&indexids),
803+
indexids,
805804
fixed_indxquals,
806805
stripped_indxquals,
807806
indxstrategy,
@@ -1427,28 +1426,27 @@ get_switched_clauses(List *clauses, Relids outerrelids)
14271426
static List *
14281427
order_qual_clauses(Query *root, List *clauses)
14291428
{
1430-
FastList nosubplans;
1431-
FastList withsubplans;
1429+
List *nosubplans;
1430+
List *withsubplans;
14321431
ListCell *l;
14331432

14341433
/* No need to work hard if the query is subselect-free */
14351434
if (!root->hasSubLinks)
14361435
return clauses;
14371436

1438-
FastListInit(&nosubplans);
1439-
FastListInit(&withsubplans);
1437+
nosubplans = NIL;
1438+
withsubplans = NIL;
14401439
foreach(l, clauses)
14411440
{
14421441
Node *clause = (Node *) lfirst(l);
14431442

14441443
if (contain_subplans(clause))
1445-
FastAppend(&withsubplans, clause);
1444+
withsubplans = lappend(withsubplans, clause);
14461445
else
1447-
FastAppend(&nosubplans, clause);
1446+
nosubplans = lappend(nosubplans, clause);
14481447
}
14491448

1450-
FastConcFast(&nosubplans, &withsubplans);
1451-
return FastListValue(&nosubplans);
1449+
return list_concat(nosubplans, withsubplans);
14521450
}
14531451

14541452
/*

src/backend/optimizer/plan/initsplan.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/optimizer/plan/initsplan.c,v 1.100 2004/05/30 23:40:29 neilc Exp $
11+
* $PostgreSQL: pgsql/src/backend/optimizer/plan/initsplan.c,v 1.101 2004/06/01 03:02:58 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -151,7 +151,7 @@ add_vars_to_targetlist(Query *root, List *vars, Relids where_needed)
151151
{
152152
/* Variable not yet requested, so add to reltargetlist */
153153
/* XXX is copyObject necessary here? */
154-
FastAppend(&rel->reltargetlist, copyObject(var));
154+
rel->reltargetlist = lappend(rel->reltargetlist, copyObject(var));
155155
}
156156
rel->attr_needed[attrno] = bms_add_members(rel->attr_needed[attrno],
157157
where_needed);

src/backend/optimizer/util/pathnode.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.106 2004/05/30 23:40:31 neilc Exp $
11+
* $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.107 2004/06/01 03:03:02 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -691,7 +691,7 @@ create_unique_path(Query *root, RelOptInfo *rel, Path *subpath)
691691
else
692692
{
693693
pathnode->rows = rel->rows;
694-
numCols = list_length(FastListValue(&rel->reltargetlist));
694+
numCols = list_length(rel->reltargetlist);
695695
}
696696

697697
/*

src/backend/optimizer/util/relnode.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/optimizer/util/relnode.c,v 1.58 2004/05/30 23:40:31 neilc Exp $
11+
* $PostgreSQL: pgsql/src/backend/optimizer/util/relnode.c,v 1.59 2004/06/01 03:03:02 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -130,7 +130,7 @@ make_base_rel(Query *root, int relid)
130130
rel->relids = bms_make_singleton(relid);
131131
rel->rows = 0;
132132
rel->width = 0;
133-
FastListInit(&rel->reltargetlist);
133+
rel->reltargetlist = NIL;
134134
rel->pathlist = NIL;
135135
rel->cheapest_startup_path = NULL;
136136
rel->cheapest_total_path = NULL;
@@ -285,7 +285,7 @@ build_join_rel(Query *root,
285285
joinrel->relids = bms_copy(joinrelids);
286286
joinrel->rows = 0;
287287
joinrel->width = 0;
288-
FastListInit(&joinrel->reltargetlist);
288+
joinrel->reltargetlist = NIL;
289289
joinrel->pathlist = NIL;
290290
joinrel->cheapest_startup_path = NULL;
291291
joinrel->cheapest_total_path = NULL;
@@ -365,7 +365,7 @@ build_joinrel_tlist(Query *root, RelOptInfo *joinrel)
365365
Relids relids = joinrel->relids;
366366
ListCell *rels;
367367

368-
FastListInit(&joinrel->reltargetlist);
368+
joinrel->reltargetlist = NIL;
369369
joinrel->width = 0;
370370

371371
foreach(rels, root->base_rel_list)
@@ -376,14 +376,14 @@ build_joinrel_tlist(Query *root, RelOptInfo *joinrel)
376376
if (!bms_is_member(baserel->relid, relids))
377377
continue;
378378

379-
foreach(vars, FastListValue(&baserel->reltargetlist))
379+
foreach(vars, baserel->reltargetlist)
380380
{
381381
Var *var = (Var *) lfirst(vars);
382382
int ndx = var->varattno - baserel->min_attr;
383383

384384
if (bms_nonempty_difference(baserel->attr_needed[ndx], relids))
385385
{
386-
FastAppend(&joinrel->reltargetlist, var);
386+
joinrel->reltargetlist = lappend(joinrel->reltargetlist, var);
387387
Assert(baserel->attr_widths[ndx] > 0);
388388
joinrel->width += baserel->attr_widths[ndx];
389389
}

src/include/nodes/relation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $PostgreSQL: pgsql/src/include/nodes/relation.h,v 1.94 2004/04/25 18:23:57 neilc Exp $
10+
* $PostgreSQL: pgsql/src/include/nodes/relation.h,v 1.95 2004/06/01 03:03:05 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -186,7 +186,7 @@ typedef struct RelOptInfo
186186
int width; /* estimated avg width of result tuples */
187187

188188
/* materialization information */
189-
FastList reltargetlist;
189+
List *reltargetlist; /* needed Vars */
190190
List *pathlist; /* Path structures */
191191
struct Path *cheapest_startup_path;
192192
struct Path *cheapest_total_path;

0 commit comments

Comments
 (0)