mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-17055: Server crashes in find_order_in_list upon 2nd (3rd) execution of SP with UPDATE
1. Always drop merged_for_insert flag on cleanup (there could be errors which prevent TABLE to be assigned) 2. Make more precise cleanup of select parts which was touched
This commit is contained in:
@ -729,6 +729,10 @@ public:
|
||||
|
||||
typedef class st_select_lex_unit SELECT_LEX_UNIT;
|
||||
|
||||
|
||||
#define TOUCHED_SEL_COND 1/* WHERE/HAVING/ON should be reinited before use */
|
||||
#define TOUCHED_SEL_DERIVED (1<<1)/* derived should be reinited before use */
|
||||
|
||||
/*
|
||||
SELECT_LEX - store information of parsed SELECT statment
|
||||
*/
|
||||
@ -876,7 +880,8 @@ public:
|
||||
subquery. Prepared statements work OK in that regard, as in
|
||||
case of an error during prepare the PS is not created.
|
||||
*/
|
||||
bool first_execution;
|
||||
uint8 changed_elements; // see TOUCHED_SEL_*
|
||||
/* TODO: add foloowing first_* to bitmap above */
|
||||
bool first_natural_join_processing;
|
||||
bool first_cond_optimization;
|
||||
/* do not wrap view fields with Item_ref */
|
||||
|
Reference in New Issue
Block a user