maria-developers team mailing list archive
Mailing list archive
Re: review of MDEV-16101 ADD PARTITION on table partitioned by list does not work …
Your fix creates more lists, all of them containing one element, but it
does only one reorganization. My fix does a reorganization whenever a 33rd
element is processed but creates less lists. I agree that reducing the
number of reorganizations to one is a better way to fix the problem. So I
will use your fix.
Jacob B. Mathew
Spider and Server Developer
+1 408 655 8999 (mobile)
On Sun, May 13, 2018 at 2:36 PM, Alexey Botchkov <holyfoot@xxxxxxxxxxx>
> Hi, Jacob.
> Your fix:
> I don't like the way your fix work.
> So after we get the 32-th item we do the reorganize_into_single_
> trick that turns one element with 32 values into 32 elements with a single
> Then as we get 33-th element, we again put it into that first element, and
> do so for
> the next 31 element then call the reorganize_ again.
> I think we should just keep the 'one-value' list after the 'reorganize_'
> So my fix would be like this:
> --- a/sql/partition_info.cc
> +++ b/sql/partition_info.cc
> @@ -1996,9 +1996,11 @@ part_column_list_val *partition_info::add_column_value(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));
> Best regards.