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

Commitc82ca4c

Browse files
committed
Re-enable bushy plans. Vadim want them.
1 parentcd550c7 commitc82ca4c

File tree

7 files changed

+23
-71
lines changed

7 files changed

+23
-71
lines changed

‎src/backend/optimizer/geqo/geqo_eval.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
* Copyright (c) 1994, Regents of the University of California
77
*
8-
* $Id: geqo_eval.c,v 1.32 1999/02/15 03:22:00 momjian Exp $
8+
* $Id: geqo_eval.c,v 1.33 1999/02/16 00:40:59 momjian Exp $
99
*
1010
*-------------------------------------------------------------------------
1111
*/
@@ -119,14 +119,12 @@ gimme_tree(Query *root, Gene *tour, int rel_count, int num_gene, RelOptInfo *out
119119
inner_rel->joininfo,
120120
inner_rel->relids)))
121121
{
122-
#ifdefNOT_USED
123-
if (BushyPlanFlag)
122+
if (!BushyPlanFlag)
124123
new_rels=make_rels_by_clauseless_joins(outer_rel,
125-
lcons(outer_rel,NIL));
126-
else
127-
#endif
128-
new_rels=make_rels_by_clauseless_joins(outer_rel,
129124
lcons(inner_rel,NIL));
125+
else
126+
new_rels=make_rels_by_clauseless_joins(outer_rel,
127+
lcons(outer_rel,NIL));
130128
}
131129

132130
/* process new_rel->pathlist */

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

Lines changed: 6 additions & 15 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.39 1999/02/15 05:49:59 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.40 1999/02/16 00:40:59 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -203,7 +203,6 @@ make_one_rel_by_joins(Query *root, List *rels, int levels_needed)
203203

204204
rels_set_cheapest(joined_rels);
205205

206-
#ifdefNOT_USED
207206
if (BushyPlanFlag)
208207
{
209208
/*
@@ -214,7 +213,6 @@ make_one_rel_by_joins(Query *root, List *rels, int levels_needed)
214213
*/
215214
add_rel_to_rel_joininfos(root,joined_rels,rels);
216215
}
217-
#endif
218216

219217
foreach(x,joined_rels)
220218
{
@@ -230,35 +228,28 @@ make_one_rel_by_joins(Query *root, List *rels, int levels_needed)
230228
#endif
231229
}
232230

233-
#ifdefNOT_USED
234231
if (BushyPlanFlag)
235232
{
236233
/*
237234
* prune rels that have been completely incorporated into new
238235
* join rels
239236
*/
240-
rels=del_rels_all_bushy_inactive(rels);
237+
joined_rels=del_rels_all_bushy_inactive(rels);
241238

242239
/*
243240
* merge join rels if then contain the same list of base rels
244241
*/
245-
joined_rels=merge_rels_with_same_relids(joined_rels,rels);
242+
merge_rels_with_same_relids(joined_rels);
246243
}
247-
#endif
248244
root->join_rel_list=rels=joined_rels;
249245
}
250246

251-
#ifdefNOT_USED
252247
Assert(BushyPlanFlag||length(rels)==1);
253-
#endif
254-
Assert(length(rels)==1);
255248

256-
#ifdefNOT_USED
257-
if (BushyPlanFlag)
258-
returnget_cheapest_complete_rel(rels);
249+
if (!BushyPlanFlag)
250+
returnlfirst(rels);
259251
else
260-
#endif
261-
returnlfirst(rels);
252+
returnget_cheapest_complete_rel(rels);
262253
}
263254

264255
/*****************************************************************************

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

Lines changed: 5 additions & 12 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.25 1999/02/15 05:21:05 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.26 1999/02/16 00:41:00 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -70,12 +70,11 @@ make_rels_by_joins(Query *root, List *outer_rels)
7070
* Oops, we have a relation that is not joined to any other
7171
* relation. Cartesian product time.
7272
*/
73-
#ifdefNOT_USED
74-
if (BushyPlanFlag)
75-
joins=make_rels_by_clauseless_joins(outer_rel,outer_rels);
73+
if (!BushyPlanFlag)
74+
joins=make_rels_by_clauseless_joins(outer_rel,
75+
root->base_rel_list);
7676
else
77-
#endif
78-
joins=make_rels_by_clauseless_joins(outer_rel,root->base_rel_list);
77+
joins=make_rels_by_clauseless_joins(outer_rel,outer_rels);
7978
}
8079

8180
join_list=nconc(join_list,joins);
@@ -137,14 +136,12 @@ make_rels_by_clause_joins(Query *root, RelOptInfo *outer_rel,
137136
joininfo);
138137
}
139138
}
140-
#ifdefNOT_USED
141139
elseif (BushyPlanFlag)
142140
{
143141
rel=make_join_rel(outer_rel,
144142
get_join_rel(root,unjoined_rels),
145143
joininfo);
146144
}
147-
#endif
148145
else
149146
rel=NULL;
150147

@@ -246,10 +243,8 @@ make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
246243
if (joininfo)
247244
{
248245
joinrel->restrictinfo=joininfo->jinfo_restrictinfo;
249-
#ifdefNOT_USED
250246
if (BushyPlanFlag)
251247
joininfo->bushy_inactive= true;
252-
#endif
253248
}
254249

255250
joinrel_joininfo_list=new_joininfo_list(append(outer_rel->joininfo,inner_rel->joininfo),
@@ -471,7 +466,6 @@ add_rel_to_rel_joininfos(Query *root, List *joinrels, List *outerrels)
471466
}
472467
}
473468

474-
#ifdefNOT_USED
475469
/*
476470
* get_cheapest_complete_rel
477471
* Find the join relation that includes all the original
@@ -515,7 +509,6 @@ get_cheapest_complete_rel(List *join_rel_list)
515509

516510
returnfinal_rel;
517511
}
518-
#endif
519512

520513
/*
521514
* add_superrels

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

Lines changed: 1 addition & 27 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/prune.c,v 1.35 1999/02/15 05:21:05 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.36 1999/02/16 00:41:00 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -106,31 +106,6 @@ rels_set_cheapest(List *rel_list)
106106
}
107107
}
108108

109-
#ifdefNOT_USED
110-
/*
111-
* merge_rels_with_same_relids
112-
* Given two lists of rel nodes that are already
113-
* pruned, merge them into one pruned rel node list
114-
*
115-
* 'rel_list1' and
116-
* 'rel_list2' are the rel node lists
117-
*
118-
* Returns one pruned rel node list
119-
*/
120-
List*
121-
merge_rels_with_same_relids(List*rel_list1,List*rel_list2)
122-
{
123-
List*xrel=NIL;
124-
125-
foreach(xrel,rel_list1)
126-
{
127-
RelOptInfo*rel= (RelOptInfo*)lfirst(xrel);
128-
129-
rel_list2=merge_rel_with_same_relids(rel,rel_list2);
130-
}
131-
returnappend(rel_list1,rel_list2);
132-
}
133-
134109
/*
135110
* del_rels_all_bushy_inactive
136111
* If all the joininfo's in a rel node are bushy_inactive,
@@ -175,5 +150,4 @@ del_rels_all_bushy_inactive(List *old_rels)
175150
}
176151
returntemp_list;
177152
}
178-
#endif
179153

‎src/backend/tcop/postgres.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.100 1999/02/15 03:22:21 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.101 1999/02/16 00:41:01 momjian Exp $
1111
*
1212
* NOTES
1313
* this is the "main" module of the postgres backend and
@@ -173,10 +173,8 @@ intUseNewLine = 0;/* Use EOF as query delimiters */
173173
*plans
174174
* ----------------
175175
*/
176-
#ifdefNOT_USED
177176
intBushyPlanFlag=0;/* default to false -- consider only
178177
* left-deep trees */
179-
#endif
180178

181179
/*
182180
** Flags for expensive function optimization -- JMH 3/9/92
@@ -1043,15 +1041,13 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[])
10431041
#endif
10441042
break;
10451043

1046-
#ifdefNOT_USED
10471044
case'b':
10481045
/* ----------------
10491046
*set BushyPlanFlag to true.
10501047
* ----------------
10511048
*/
10521049
BushyPlanFlag=1;
10531050
break;
1054-
#endif
10551051

10561052
case'B':
10571053
/* ----------------
@@ -1542,7 +1538,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[])
15421538
if (!IsUnderPostmaster)
15431539
{
15441540
puts("\nPOSTGRES backend interactive interface ");
1545-
puts("$Revision: 1.100 $ $Date: 1999/02/15 03:22:21 $\n");
1541+
puts("$Revision: 1.101 $ $Date: 1999/02/16 00:41:01 $\n");
15461542
}
15471543

15481544
/* ----------------

‎src/include/optimizer/internal.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: internal.h,v 1.15 1999/02/15 03:22:31 momjian Exp $
9+
* $Id: internal.h,v 1.16 1999/02/16 00:41:03 momjian Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -80,9 +80,7 @@
8080
#defineFLOAT_EQUAL(X,Y) ((X) - (Y) < TOLERANCE)
8181
#defineFLOAT_IS_ZERO(X) (FLOAT_EQUAL(X,0.0))
8282

83-
#ifdefNOT_USED
8483
externintBushyPlanFlag;
85-
#endif
8684

8785
/* #define deactivate_joininfo(joininfo)joininfo->inactive=true*/
8886
/*#define joininfo_inactive(joininfo)joininfo->inactive */

‎src/include/optimizer/paths.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: paths.h,v 1.19 1999/02/15 05:28:10 momjian Exp $
10+
* $Id: paths.h,v 1.20 1999/02/16 00:41:03 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -85,11 +85,13 @@ extern List *make_rels_by_clauseless_joins(RelOptInfo *outer_rel,
8585
List*inner_rels);
8686
externRelOptInfo*make_join_rel(RelOptInfo*outer_rel,RelOptInfo*inner_rel,JoinInfo*joininfo);
8787
externList*new_join_tlist(List*tlist,List*other_relids,intfirst_resdomno);
88+
externRelOptInfo*get_cheapest_complete_rel(List*join_rel_list);
8889

8990
/*
9091
* prototypes for path/prune.c
9192
*/
9293
externvoidmerge_rels_with_same_relids(List*rel_list);
9394
externvoidrels_set_cheapest(List*rel_list);
95+
externList*del_rels_all_bushy_inactive(List*old_rels);
9496

9597
#endif/* PATHS_H */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp