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

Commit80c6847

Browse files
committed
Desultory de-FastList-ification. RelOptInfo.reltargetlist is back to
being a plain List.
1 parent6c33054 commit80c6847

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
OidchildOID;
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
int32tuple_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
intndx=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
int32type_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
returnvar;
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
staticList*
262262
build_relation_tlist(RelOptInfo*rel)
263263
{
264-
FastListtlist;
264+
List*tlist=NIL;
265265
intresdomno=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-
returnFastListValue(&tlist);
276+
returntlist;
278277
}
279278

280279
/*
@@ -701,7 +700,7 @@ create_indexscan_plan(Query *root,
701700
List*indxstrategy;
702701
List*indxsubtype;
703702
List*indxlossy;
704-
FastListindexids;
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
staticList*
14281427
order_qual_clauses(Query*root,List*clauses)
14291428
{
1430-
FastListnosubplans;
1431-
FastListwithsubplans;
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
returnclauses;
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-
returnFastListValue(&nosubplans);
1449+
returnlist_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
Relidsrelids=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
intndx=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
intwidth;/* estimated avg width of result tuples */
187187

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp