diff options
author | Jacob Mathew <jacob.mathew@mariadb.com> | 2018-05-11 14:45:09 -0700 |
---|---|---|
committer | Jacob Mathew <jacob.mathew@mariadb.com> | 2018-05-14 13:25:41 -0700 |
commit | 8e015986200241e300c07dfff331ecbb22b51335 (patch) | |
tree | 56b78596bfe3e8fcbd4f5ba360cbcb736371e8b4 /sql/partition_info.cc | |
parent | 1d30a23fcc38bc11f928f59a6c69ddebcf523870 (diff) | |
download | mariadb-git-8e015986200241e300c07dfff331ecbb22b51335.tar.gz |
MDEV-16101: ADD PARTITION on table partitioned by list does not work with more than 32 list values.bb-10.3-MDEV-16101
This problem occured because the reorganization of the list of values when the
number of elements exceeds 32 was not handled correctly. I have fixed the
problem by fixing the way that the list values are reorganized when the number
of list values exceeds 32.
Author:
Jacob Mathew.
Reviewer:
Alexey Botchkov.
Diffstat (limited to 'sql/partition_info.cc')
-rw-r--r-- | sql/partition_info.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/partition_info.cc b/sql/partition_info.cc index 746d00ef8d1..946b800cca8 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -1800,9 +1800,11 @@ part_column_list_val *partition_info::add_column_value(THD *thd) into the structure used for 1 column. After this we call ourselves recursively which should always succeed. */ + num_columns= curr_list_object; if (!reorganize_into_single_field_col_val(thd)) { - DBUG_RETURN(add_column_value(thd)); + if (!init_column_part(thd)) + DBUG_RETURN(add_column_value(thd)); } DBUG_RETURN(NULL); } |