mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 21:24:28 +00:00
Fix tests.
This commit is contained in:
parent
f9c4721ba2
commit
b5ecef6adf
@ -305,6 +305,8 @@ IMergingAlgorithm::Status AggregatingSortedAlgorithm::merge()
|
|||||||
|
|
||||||
if (current->isLast() && skipLastRowFor(current->pos))
|
if (current->isLast() && skipLastRowFor(current->pos))
|
||||||
{
|
{
|
||||||
|
/// If we skip this row, it's not equals with any key we process.
|
||||||
|
last_key.reset();
|
||||||
/// Get the next block from the corresponding source, if there is one.
|
/// Get the next block from the corresponding source, if there is one.
|
||||||
queue.removeTop();
|
queue.removeTop();
|
||||||
return Status(current.impl->order);
|
return Status(current.impl->order);
|
||||||
|
@ -33,15 +33,8 @@ void IMergingAlgorithmWithDelayedChunk::updateCursor(Input & input, size_t sourc
|
|||||||
auto & current_input = current_inputs[source_num];
|
auto & current_input = current_inputs[source_num];
|
||||||
|
|
||||||
/// Extend lifetime of last chunk.
|
/// Extend lifetime of last chunk.
|
||||||
if (current_input.skip_last_row && current_input.chunk.getNumRows() <= 1)
|
last_chunk.swap(current_input.chunk);
|
||||||
{
|
last_chunk_sort_columns = std::move(cursors[source_num].sort_columns);
|
||||||
/// But if chunk has only single skipped row, ignore it.
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
last_chunk.swap(current_input.chunk);
|
|
||||||
last_chunk_sort_columns = std::move(cursors[source_num].sort_columns);
|
|
||||||
}
|
|
||||||
|
|
||||||
current_input.swap(input);
|
current_input.swap(input);
|
||||||
cursors[source_num].reset(current_input.chunk.getColumns(), {});
|
cursors[source_num].reset(current_input.chunk.getColumns(), {});
|
||||||
|
@ -649,6 +649,8 @@ IMergingAlgorithm::Status SummingSortedAlgorithm::merge()
|
|||||||
|
|
||||||
if (current->isLast() && skipLastRowFor(current->pos))
|
if (current->isLast() && skipLastRowFor(current->pos))
|
||||||
{
|
{
|
||||||
|
/// If we skip this row, it's not equals with any key we process.
|
||||||
|
last_key.reset();
|
||||||
/// Get the next block from the corresponding source, if there is one.
|
/// Get the next block from the corresponding source, if there is one.
|
||||||
queue.removeTop();
|
queue.removeTop();
|
||||||
return Status(current.impl->order);
|
return Status(current.impl->order);
|
||||||
|
Loading…
Reference in New Issue
Block a user