summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2019-03-04 23:10:30 -0800
committerIgor Babaev <igor@askmonty.org>2019-03-04 23:11:18 -0800
commit8f4de38f65ba89c6273c15c9adb50ab762d03f59 (patch)
treeb45581c7d98404be091a090d24be19286051b7ce /sql/sql_select.h
parenta2fc36989e13c6f322fd22791f67e0d1275461d7 (diff)
downloadmariadb-git-8f4de38f65ba89c6273c15c9adb50ab762d03f59.tar.gz
MDEV-18467 Server crashes in fix_semijoin_strategies_for_picked_join_order
If a splittable materialized derived table / view T is used in a inner nest of an outer join with impossible ON condition then T is marked as a constant table. Yet the execution plan to build T is still searched for in spite of the fact that is not needed. So it should be set.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 0e486c1fbec..57d8dab8258 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -659,7 +659,8 @@ typedef struct st_join_table {
void add_keyuses_for_splitting();
SplM_plan_info *choose_best_splitting(double record_count,
table_map remaining_tables);
- bool fix_splitting(SplM_plan_info *spl_plan, table_map remaining_tables);
+ bool fix_splitting(SplM_plan_info *spl_plan, table_map remaining_tables,
+ bool is_const_table);
} JOIN_TAB;