@@ -1200,9 +1200,9 @@ void MergeTreeData::MergingParams::check(const MergeTreeSettings & settings, con
12001200
12011201 if (mode == MergingParams::Summing)
12021202 {
1203- auto columns_to_sum_copy = columns_to_sum;
1204- std::sort (columns_to_sum_copy .begin (), columns_to_sum_copy .end ());
1205- if (const auto it = std::adjacent_find (columns_to_sum_copy .begin (), columns_to_sum_copy .end ()); it != columns_to_sum_copy .end ())
1203+ auto columns_to_sum_sorted = columns_to_sum;
1204+ std::sort (columns_to_sum_sorted .begin (), columns_to_sum_sorted .end ());
1205+ if (const auto it = std::adjacent_find (columns_to_sum_sorted .begin (), columns_to_sum_sorted .end ()); it != columns_to_sum_sorted .end ())
12061206 throw Exception (ErrorCodes::BAD_ARGUMENTS, " Column {} is listed multiple times in the list of columns to sum" , *it);
12071207
12081208 // / If columns_to_sum are set, then check that such columns exist.
@@ -1225,9 +1225,10 @@ void MergeTreeData::MergingParams::check(const MergeTreeSettings & settings, con
12251225 if (!allow_summing_columns_in_partition_or_order_key && metadata.isPartitionKeyDefined ())
12261226 {
12271227 auto partition_key_columns = metadata.getPartitionKey ().expression ->getRequiredColumns ();
1228+ std::sort (partition_key_columns.begin (), partition_key_columns.end ());
12281229
12291230 Names names_intersection;
1230- std::set_intersection (columns_to_sum .begin (), columns_to_sum .end (),
1231+ std::set_intersection (columns_to_sum_sorted .begin (), columns_to_sum_sorted .end (),
12311232 partition_key_columns.begin (), partition_key_columns.end (),
12321233 std::back_inserter (names_intersection));
12331234
@@ -1240,9 +1241,10 @@ void MergeTreeData::MergingParams::check(const MergeTreeSettings & settings, con
12401241 if (!allow_summing_columns_in_partition_or_order_key && metadata.isSortingKeyDefined ())
12411242 {
12421243 auto sorting_key_columns = metadata.getSortingKey ().expression ->getRequiredColumns ();
1244+ std::sort (sorting_key_columns.begin (), sorting_key_columns.end ());
12431245
12441246 Names names_intersection;
1245- std::set_intersection (columns_to_sum .begin (), columns_to_sum .end (),
1247+ std::set_intersection (columns_to_sum_sorted .begin (), columns_to_sum_sorted .end (),
12461248 sorting_key_columns.begin (), sorting_key_columns.end (),
12471249 std::back_inserter (names_intersection));
12481250
0 commit comments