mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Moving a change_list related methods from THD to Item_change_list
1. Moving the following methods from THD to Item_change_list: nocheck_register_item_tree_change() check_and_register_item_tree_change() rollback_item_tree_changes() as they work only with the "change_list" member and don't require anything else from THD. 2. Deriving THD from Item_change_list This change will help to fix "MDEV-14603 signal 11 with short stacktrace" easier.
This commit is contained in:
@ -2605,8 +2605,10 @@ struct Item_change_record: public ilink
|
||||
thd->mem_root (due to possible set_n_backup_active_arena called for thd).
|
||||
*/
|
||||
|
||||
void THD::nocheck_register_item_tree_change(Item **place, Item *old_value,
|
||||
MEM_ROOT *runtime_memroot)
|
||||
void
|
||||
Item_change_list::nocheck_register_item_tree_change(Item **place,
|
||||
Item *old_value,
|
||||
MEM_ROOT *runtime_memroot)
|
||||
{
|
||||
Item_change_record *change;
|
||||
DBUG_ENTER("THD::nocheck_register_item_tree_change");
|
||||
@ -2647,8 +2649,10 @@ void THD::nocheck_register_item_tree_change(Item **place, Item *old_value,
|
||||
changes to substitute the same reference at both locations L1 and L2.
|
||||
*/
|
||||
|
||||
void THD::check_and_register_item_tree_change(Item **place, Item **new_value,
|
||||
MEM_ROOT *runtime_memroot)
|
||||
void
|
||||
Item_change_list::check_and_register_item_tree_change(Item **place,
|
||||
Item **new_value,
|
||||
MEM_ROOT *runtime_memroot)
|
||||
{
|
||||
Item_change_record *change;
|
||||
I_List_iterator<Item_change_record> it(change_list);
|
||||
@ -2663,7 +2667,7 @@ void THD::check_and_register_item_tree_change(Item **place, Item **new_value,
|
||||
}
|
||||
|
||||
|
||||
void THD::rollback_item_tree_changes()
|
||||
void Item_change_list::rollback_item_tree_changes()
|
||||
{
|
||||
I_List_iterator<Item_change_record> it(change_list);
|
||||
Item_change_record *change;
|
||||
|
Reference in New Issue
Block a user