mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 23:52:03 +00:00
Merge
This commit is contained in:
parent
f3ad486e14
commit
2b1550105c
@ -122,6 +122,7 @@ void GraphiteRollupSortedBlockInputStream::merge(ColumnPlainPtrs & merged_column
|
||||
|
||||
auto prev_pattern = current_pattern;
|
||||
bool path_differs = is_first || next_path != current_path;
|
||||
is_first = false;
|
||||
|
||||
if (path_differs)
|
||||
current_pattern = selectPatternForPath(next_path);
|
||||
@ -135,23 +136,17 @@ void GraphiteRollupSortedBlockInputStream::merge(ColumnPlainPtrs & merged_column
|
||||
|
||||
bool is_new_key = path_differs || next_time != current_time;
|
||||
|
||||
/// если накопилось достаточно строк и последняя посчитана полностью
|
||||
if (is_new_key && merged_rows >= max_block_size)
|
||||
{
|
||||
finishCurrentRow(merged_columns);
|
||||
return;
|
||||
}
|
||||
|
||||
queue.pop();
|
||||
|
||||
bool was_first = is_first;
|
||||
is_first = false;
|
||||
|
||||
if (is_new_key)
|
||||
{
|
||||
if (!was_first)
|
||||
if (merged_rows)
|
||||
{
|
||||
finishCurrentRow(merged_columns);
|
||||
|
||||
/// если накопилось достаточно строк
|
||||
if (merged_rows >= max_block_size)
|
||||
return;
|
||||
}
|
||||
|
||||
startNextRow(merged_columns, current);
|
||||
|
||||
owned_current_block = source_blocks[current.impl->order];
|
||||
@ -170,6 +165,8 @@ void GraphiteRollupSortedBlockInputStream::merge(ColumnPlainPtrs & merged_column
|
||||
accumulateRow(current);
|
||||
current_max_version = std::max(current_max_version, current->all_columns[version_column_num]->get64(current->pos));
|
||||
|
||||
queue.pop();
|
||||
|
||||
if (!current->isLast())
|
||||
{
|
||||
current->next();
|
||||
|
Loading…
Reference in New Issue
Block a user