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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy