summaryrefslogtreecommitdiff
path: root/sql/sql_partition.h
diff options
context:
space:
mode:
authorholyfoot/hf@mysql.com/hfmain.(none) <>2007-03-27 16:15:38 +0500
committerholyfoot/hf@mysql.com/hfmain.(none) <>2007-03-27 16:15:38 +0500
commit576f2f8474ad13b643ef8214bfb2b45d47c8da29 (patch)
tree59cc3feb8364d307b4a70b2555ba0f8b6adcbd5c /sql/sql_partition.h
parent2a54dcd9978b4bb9e570fe89269524bc7be17099 (diff)
downloadmariadb-git-576f2f8474ad13b643ef8214bfb2b45d47c8da29.tar.gz
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
Diffstat (limited to 'sql/sql_partition.h')
-rw-r--r--sql/sql_partition.h3
1 files changed, 2 insertions, 1 deletions
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,