summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 54569e241e0..450efb84e5d 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -810,7 +810,10 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
}
s->key_dependent=s->dependent=
s->on_expr->used_tables() & ~(table->map);
- s->dependent|=stat_vector[i-1]->dependent | table_vector[i-1]->map;
+ if (table->outer_join & JOIN_TYPE_LEFT)
+ s->dependent|=stat_vector[i-1]->dependent | table_vector[i-1]->map;
+ if (tables->outer_join & JOIN_TYPE_RIGHT)
+ s->dependent|=tables->next->table->map;
outer_join|=table->map;
continue;
}