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

Commit11073be

Browse files
committed
allpaths.c:find_join_paths(): compute_rel_size() shouldn't be called
for join-relations. Sizes already computed byprune_rel_paths():compute_joinrel_size().joinrels.c:< if ( _use_right_sided_plans_ )---> if ( _use_right_sided_plans_ &&> length (outer_rel->relids) > 1 ) - r_plans are useful when outer_rel is join-relation... Itdecreases the size of search space...
1 parent39c73ef commit11073be

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

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

Lines changed: 3 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/optimizer/path/allpaths.c,v 1.8 1997/06/02 11:14:40 vadim Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.9 1997/06/05 09:33:50 vadim Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -216,7 +216,9 @@ find_join_paths(Query *root, List *outer_rels, int levels_left)
216216

217217
foreach(x,new_rels) {
218218
rel= (Rel*)lfirst(x);
219+
#if0/* compute_joinrel_size already called by prune_rel_paths */
219220
rel->size=compute_rel_size(rel);
221+
#endif
220222
rel->width=compute_rel_width(rel);
221223

222224
/*#define OPTIMIZER_DEBUG*/

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

Lines changed: 3 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/joinrels.c,v 1.3 1997/05/20 10:37:26 vadim Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.4 1997/06/05 09:33:52 vadim Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -110,7 +110,8 @@ find_clause_joins(Query *root, Rel *outer_rel, List *joininfo_list)
110110
get_base_rel(root,lfirsti(other_rels)),
111111
joininfo);
112112
/* how about right-sided plan ? */
113-
if (_use_right_sided_plans_ )
113+
if (_use_right_sided_plans_&&
114+
length (outer_rel->relids)>1 )
114115
{
115116
if (rel!=NULL)
116117
join_list=lappend(join_list,rel);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp