1
0
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:
holyfoot@vva.(none)
2006-03-18 18:48:21 +04:00
parent ecf41eea09
commit 8074262eda
6 changed files with 72 additions and 22 deletions

View File

@@ -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));