mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-23 18:20:50 +00:00
MergeSelector: development [#METR-21840].
This commit is contained in:
parent
4dec8babf1
commit
a832a8cd71
@ -71,10 +71,20 @@ void selectWithinPartition(
|
||||
}
|
||||
|
||||
size_t max_level = 0;
|
||||
size_t prev_level = -1;
|
||||
bool has_range_of_same_level = false;
|
||||
|
||||
for (const auto & part : parts)
|
||||
{
|
||||
if (part.level > max_level)
|
||||
max_level = part.level;
|
||||
|
||||
if (part.level == prev_level)
|
||||
has_range_of_same_level = true;
|
||||
|
||||
prev_level = part.level;
|
||||
}
|
||||
|
||||
for (size_t level = 0; level <= max_level; ++level)
|
||||
{
|
||||
bool in_range = false;
|
||||
@ -83,7 +93,7 @@ void selectWithinPartition(
|
||||
|
||||
for (size_t i = 0; i <= parts_size; ++i)
|
||||
{
|
||||
if (i < parts_size && parts[i].level == level)
|
||||
if (i < parts_size && (parts[i].level == level || !has_range_of_same_level))
|
||||
{
|
||||
if (!in_range)
|
||||
{
|
||||
@ -118,6 +128,9 @@ void selectWithinPartition(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!has_range_of_same_level)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user