mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-15899 Server crashes in st_join_table::is_inner_table_of_outer_join
The crash happened because JOIN::check_for_splittable_materialized() called by mistake the function JOIN_TAB::is_inner_table_of_outer_join() instead of the function TABLE_LIST::is_inner_table_of_outer_join(). The former cannot be called before the call of make_outerjoin_info().
This commit is contained in:
@ -352,8 +352,9 @@ bool JOIN::check_for_splittable_materialized()
|
||||
|
||||
Field *ord_field= ((Item_field *) (ord_item->real_item()))->field;
|
||||
|
||||
JOIN_TAB *tab= ord_field->table->reginfo.join_tab;
|
||||
if (tab->is_inner_table_of_outer_join())
|
||||
/* Ignore fields from of inner tables of outer joins */
|
||||
TABLE_LIST *tbl= ord_field->table->pos_in_table_list;
|
||||
if (tbl->is_inner_table_of_outer_join())
|
||||
continue;
|
||||
|
||||
List_iterator<Item> li(fields_list);
|
||||
|
Reference in New Issue
Block a user