mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-28965 Assertion failure when preparing UPDATE with derived table in WHERE
This patch fixes not only the assertion failure in the function Field_iterator_table_ref::set_field_iterator() but also: - fixes the problem of forced materialization of derived tables used in subqueries contained in WHERE clauses of single-table and multi-table UPDATE and DELETE statements - fixes the problem of MDEV-17954 that prevented execution of multi-table DELETE statements if they use in their WHERE clauses references to the tables that are updated. The patch must be considered a complement to the patch for MDEV-28883. Approved by Oleksandr Byelkin <sanja@mariadb.com>
This commit is contained in:
@@ -1652,6 +1652,7 @@ public:
|
||||
void lex_start(LEX *plex);
|
||||
bool is_unit_nest() { return (nest_flags & UNIT_NEST_FL); }
|
||||
void mark_as_unit_nest() { nest_flags= UNIT_NEST_FL; }
|
||||
bool is_sj_conversion_prohibited(THD *thd);
|
||||
};
|
||||
typedef class st_select_lex SELECT_LEX;
|
||||
|
||||
|
Reference in New Issue
Block a user