mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-4465: Reproducible crash (mysqld got signal 11) in multi_delete::initialize_tables...
- make multi_delete::initialize_tables() take into account that the JOIN structure may have semi-join nests (which are not fully initialized when this function is called, they have tab->table=NULL which caused the crash) - Also checked multi_update::initialize_tables(): it has a different logic and needed no fixing.
This commit is contained in:
@ -677,7 +677,7 @@ multi_delete::initialize_tables(JOIN *join)
|
||||
tab;
|
||||
tab= next_linear_tab(join, tab, WITHOUT_BUSH_ROOTS))
|
||||
{
|
||||
if (tab->table->map & tables_to_delete_from)
|
||||
if (!tab->bush_children && tab->table->map & tables_to_delete_from)
|
||||
{
|
||||
/* We are going to delete from this table */
|
||||
TABLE *tbl=walk->table=tab->table;
|
||||
|
Reference in New Issue
Block a user