diff options
author | Jacob Mathew <jacob.mathew@mariadb.com> | 2018-05-14 16:30:25 -0700 |
---|---|---|
committer | Jacob Mathew <jacob.mathew@mariadb.com> | 2018-05-14 16:30:25 -0700 |
commit | 95e9c7054f08409a565bb5e99ea533bd513f478a (patch) | |
tree | 675dc3025aad379327dd4a6ff47fab4a9238eedc /sql/partition_info.cc | |
parent | 0d033b6d34631df9df1f703c92ed0356db1c2365 (diff) | |
download | mariadb-git-95e9c7054f08409a565bb5e99ea533bd513f478a.tar.gz |
MDEV-16101: ADD PARTITION on table partitioned by list does not work with more than 32 list values.
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.
Merged From:
Commit 8e01598 on branch bb-10.3-MDEV-16101
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 bddc66189e4..f96882552fa 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -1996,9 +1996,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); } |