mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Simpler arena swapping code
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root. This gives us the following benefits: - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases) - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT) - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
This commit is contained in:
@ -354,7 +354,7 @@ class store_key :public Sql_alloc
|
||||
field_arg->table, field_arg->charset());
|
||||
else
|
||||
{
|
||||
to_field=field_arg->new_field(&thd->mem_root,field_arg->table);
|
||||
to_field=field_arg->new_field(thd->mem_root,field_arg->table);
|
||||
if (to_field)
|
||||
to_field->move_field(ptr, (uchar*) null, 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user