summaryrefslogtreecommitdiff
path: root/sql/sql_partition.h
diff options
context:
space:
mode:
authormattiasj@mattias-jonssons-macbook.local <>2007-11-20 11:21:00 +0100
committermattiasj@mattias-jonssons-macbook.local <>2007-11-20 11:21:00 +0100
commiteac847f39b8e3737db6386e5f036628b98937286 (patch)
treefeeac50020914d1a4642df600d412a328930cb18 /sql/sql_partition.h
parent11115f1bfdf53a1809ce803abddf8c039448beb2 (diff)
downloadmariadb-git-eac847f39b8e3737db6386e5f036628b98937286.tar.gz
Bug#30822: ALTER TABLE COALESCE PARTITION causes segmentation fault
Problem was for LINEAR HASH/KEY. Crashes because of wrong partition id returned when creating the new altered partitions. (because of wrong linear hash mask) Solution: Update the linear hash mask before using it for the new altered table.
Diffstat (limited to 'sql/sql_partition.h')
-rw-r--r--sql/sql_partition.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index 56f24181b93..282e24f1853 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -65,6 +65,7 @@ int get_part_for_delete(const uchar *buf, const uchar *rec0,
void prune_partition_set(const TABLE *table, part_id_range *part_spec);
bool check_partition_info(partition_info *part_info,handlerton **eng_type,
TABLE *table, handler *file, HA_CREATE_INFO *info);
+void set_linear_hash_mask(partition_info *part_info, uint no_parts);
bool fix_partition_func(THD *thd, TABLE *table, bool create_table_ind);
char *generate_partition_syntax(partition_info *part_info,
uint *buf_length, bool use_sql_alloc,