From 576f2f8474ad13b643ef8214bfb2b45d47c8da29 Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Tue, 27 Mar 2007 16:15:38 +0500 Subject: Bug #27084 partitioning by list seems failing when using case creation of the partitioned table could fail as we created Item-s for it's list function in thd->mem_root, and then do Item->fix_fields in the context of other table->mem_root (so that memory alloced there was alloced in this table->mem_root). As we freed the table->mem_root before we do thd->free_items, our Item-s had pointers to the freed memory, that caused the crash --- sql/sql_partition.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sql/sql_partition.h') diff --git a/sql/sql_partition.h b/sql/sql_partition.h index 7ed43527688..88118ff3cd4 100644 --- a/sql/sql_partition.h +++ b/sql/sql_partition.h @@ -81,7 +81,8 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, uint part_info_len, uchar *part_state, uint part_state_len, TABLE *table, bool is_create_table_ind, - handlerton *default_db_type); + handlerton *default_db_type, + bool *work_part_info_used); void make_used_partitions_str(partition_info *part_info, String *parts_str); uint32 get_list_array_idx_for_endpoint(partition_info *part_info, bool left_endpoint, -- cgit v1.2.1