mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
bug 17290 and bug 14350
added THD::work_part_info member where we now store modified partition_info structure. It allows no solve problem when different parts of the part_info get into different mem_roots
This commit is contained in:
@@ -2037,7 +2037,10 @@ bool mysql_create_table_internal(THD *thd,
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
partition_info *part_info= thd->lex->part_info;
|
||||
partition_info *part_info;
|
||||
if (!(part_info= thd->lex->part_info->get_clone()))
|
||||
DBUG_RETURN(TRUE);
|
||||
thd->work_part_info= part_info;
|
||||
if (!part_info && create_info->db_type->partition_flags &&
|
||||
(create_info->db_type->partition_flags() & HA_USE_AUTO_PARTITION))
|
||||
{
|
||||
@@ -2046,7 +2049,7 @@ bool mysql_create_table_internal(THD *thd,
|
||||
all tables as partitioned. The handler will set up the partition info
|
||||
object with the default settings.
|
||||
*/
|
||||
thd->lex->part_info= part_info= new partition_info();
|
||||
thd->work_part_info= part_info= new partition_info();
|
||||
if (!part_info)
|
||||
{
|
||||
mem_alloc_error(sizeof(partition_info));
|
||||
|
||||
Reference in New Issue
Block a user