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

Commit1ed5cbb

Browse files
committed
Final optimizer cleanups.
1 parent47dd11b commit1ed5cbb

File tree

16 files changed

+174
-163
lines changed

16 files changed

+174
-163
lines changed

‎src/backend/nodes/list.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.17 1999/02/13 23:15:57 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.18 1999/02/22 05:26:18 momjian Exp $
1111
*
1212
* NOTES
1313
* XXX a few of the following functions are duplicated to handle
@@ -109,6 +109,7 @@ nconc(List *l1, List *l2)
109109
}
110110

111111

112+
#ifdefNOT_USED
112113
List*
113114
nreverse(List*list)
114115
{
@@ -128,6 +129,7 @@ nreverse(List *list)
128129
lnext(list)=lnext(rlist);
129130
returnlist;
130131
}
132+
#endif
131133

132134
Value*
133135
makeInteger(longi)
@@ -245,6 +247,7 @@ append(List *l1, List *l2)
245247
returnnewlist;
246248
}
247249

250+
#ifdefNOT_USED
248251
/*
249252
* below are for backwards compatibility
250253
*/
@@ -266,6 +269,7 @@ intAppend(List *l1, List *l2)
266269
lnext(p)=newlist2;
267270
returnnewlist;
268271
}
272+
#endif
269273

270274
/*
271275
*same

‎src/backend/optimizer/path/allpaths.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.43 1999/02/21 03:48:41 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.44 1999/02/22 05:26:18 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -126,7 +126,7 @@ set_base_rel_pathlist(Query *root, List *rels)
126126

127127
rel->pathlist=add_pathlist(rel,
128128
sequential_scan_list,
129-
append(rel_index_scan_list,
129+
nconc(rel_index_scan_list,
130130
or_index_scan_list));
131131

132132
set_cheapest(rel,rel->pathlist);

‎src/backend/optimizer/path/hashutils.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.13 1999/02/13 23:16:16 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.14 1999/02/22 05:26:18 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -83,9 +83,7 @@ group_clauses_by_hashop(List *restrictinfo_list,
8383
xhashinfo->jmethod.jmkeys=NIL;
8484
xhashinfo->jmethod.clauses=NIL;
8585

86-
/* XXX was push */
87-
hashinfo_list=lappend(hashinfo_list,xhashinfo);
88-
hashinfo_list=nreverse(hashinfo_list);
86+
hashinfo_list=lcons(xhashinfo,hashinfo_list);
8987
}
9088

9189
xhashinfo->jmethod.clauses=lcons(clause,xhashinfo->jmethod.clauses);

‎src/backend/optimizer/path/indxpath.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.52 1999/02/21 03:48:44 scrappy Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.53 1999/02/22 05:26:19 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -1384,7 +1384,7 @@ create_index_path_group(Query *root,
13841384
staticList*
13851385
add_index_paths(List*indexpaths,List*new_indexpaths)
13861386
{
1387-
returnappend(indexpaths,new_indexpaths);
1387+
returnnconc(indexpaths,new_indexpaths);
13881388
}
13891389

13901390
staticbool

‎src/backend/optimizer/path/joinpath.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.31 1999/02/21 01:55:02 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.32 1999/02/22 05:26:20 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -104,7 +104,8 @@ update_rels_pathlist_for_joins(Query *root, List *joinrels)
104104
lfirsti(innerrel->relids));
105105

106106
/* need to flatten the relids list */
107-
joinrel->relids=intAppend(outerrelids,innerrelids);
107+
joinrel->relids=nconc(listCopy(outerrelids),
108+
listCopy(innerrelids));
108109

109110
/*
110111
* 1. Consider mergejoin paths where both relations must be
@@ -213,11 +214,11 @@ sort_inner_and_outer(RelOptInfo *joinrel,
213214
{
214215
xmergeinfo= (MergeInfo*)lfirst(i);
215216

216-
outerkeys=extract_path_keys(xmergeinfo->jmethod.jmkeys,
217+
outerkeys=make_pathkeys_from_joinkeys(xmergeinfo->jmethod.jmkeys,
217218
outerrel->targetlist,
218219
OUTER);
219220

220-
innerkeys=extract_path_keys(xmergeinfo->jmethod.jmkeys,
221+
innerkeys=make_pathkeys_from_joinkeys(xmergeinfo->jmethod.jmkeys,
221222
innerrel->targetlist,
222223
INNER);
223224

@@ -352,7 +353,7 @@ match_unsorted_outer(RelOptInfo *joinrel,
352353
innerrel->width, false))));
353354
if (!path_is_cheaper_than_sort)
354355
{
355-
varkeys=extract_path_keys(matchedJoinKeys,
356+
varkeys=make_pathkeys_from_joinkeys(matchedJoinKeys,
356357
innerrel->targetlist,
357358
INNER);
358359
}
@@ -473,7 +474,7 @@ match_unsorted_inner(RelOptInfo *joinrel,
473474

474475
if (temp2)
475476
{
476-
List*outerkeys=extract_path_keys(matchedJoinKeys,
477+
List*outerkeys=make_pathkeys_from_joinkeys(matchedJoinKeys,
477478
outerrel->targetlist,
478479
OUTER);
479480
List*merge_pathkeys=new_join_pathkeys(outerkeys,
@@ -551,10 +552,12 @@ hash_inner_and_outer(RelOptInfo *joinrel,
551552
foreach(i,hashinfo_list)
552553
{
553554
xhashinfo= (HashInfo*)lfirst(i);
554-
outerkeys=extract_path_keys(((JoinMethod*)xhashinfo)->jmkeys,
555+
outerkeys=make_pathkeys_from_joinkeys(
556+
((JoinMethod*)xhashinfo)->jmkeys,
555557
outerrel->targetlist,
556558
OUTER);
557-
innerkeys=extract_path_keys(((JoinMethod*)xhashinfo)->jmkeys,
559+
innerkeys=make_pathkeys_from_joinkeys(
560+
((JoinMethod*)xhashinfo)->jmkeys,
558561
innerrel->targetlist,
559562
INNER);
560563
hash_pathkeys=new_join_pathkeys(outerkeys,

‎src/backend/optimizer/path/joinrels.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.30 1999/02/18 06:00:46 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.31 1999/02/22 05:26:20 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -62,7 +62,7 @@ make_rels_by_joins(Query *root, List *old_rels)
6262
joined_rels=make_rels_by_clauseless_joins(old_rel,
6363
root->base_rel_list);
6464
joined_rels=append(joined_rels,
65-
make_rels_by_clauseless_joins(old_rel,
65+
make_rels_by_clauseless_joins(old_rel,
6666
old_rels));
6767
}
6868

@@ -235,9 +235,11 @@ make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
235235
if (joininfo)
236236
joinrel->restrictinfo=joininfo->jinfo_restrictinfo;
237237

238-
joinrel_joininfo_list=new_joininfo_list(append(outer_rel->joininfo,
239-
inner_rel->joininfo),
240-
intAppend(outer_rel->relids,inner_rel->relids));
238+
joinrel_joininfo_list=new_joininfo_list(
239+
append(outer_rel->joininfo,
240+
inner_rel->joininfo),
241+
nconc(listCopy(outer_rel->relids),
242+
listCopy(inner_rel->relids)));
241243

242244
joinrel->joininfo=joinrel_joininfo_list;
243245

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp