summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-05-08 12:12:48 +0200
committerSergei Golubchik <serg@mariadb.org>2017-05-08 12:12:48 +0200
commit1c418df7228ff3eaa1f9a1d9d630cb46947da781 (patch)
treeafedb54610509f058c37d7d04a80dc9763377b83 /sql
parentfc25437aff119adcfe5bc831e9f1af28cfa0b8a3 (diff)
parent15f9931f6d2b0eb4006fdc42072c2905fd67c1aa (diff)
downloadmariadb-git-1c418df7228ff3eaa1f9a1d9d630cb46947da781.tar.gz
Merge branch '5.5' into 10.0
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_select.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 8d63902d9eb..20456931136 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -8562,12 +8562,14 @@ get_best_combination(JOIN *join)
{
if (j->bush_children)
j= j->bush_children->start;
-
- used_tables|= j->table->map;
- if ((keyuse= join->best_positions[tablenr].key) &&
- create_ref_for_key(join, j, keyuse, TRUE, used_tables))
- DBUG_RETURN(TRUE); // Something went wrong
+ used_tables|= j->table->map;
+ if (j->type != JT_CONST && j->type != JT_SYSTEM)
+ {
+ if ((keyuse= join->best_positions[tablenr].key) &&
+ create_ref_for_key(join, j, keyuse, TRUE, used_tables))
+ DBUG_RETURN(TRUE); // Something went wrong
+ }
if (j->last_leaf_in_bush)
j= j->bush_root_tab;
}