mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 02:41:59 +00:00
97f2a2213e
* Move some code outside dbms/src folder * Fix paths
42 lines
847 B
C++
42 lines
847 B
C++
#include <Columns/ColumnsNumber.h>
|
|
|
|
#include <DataStreams/MergingAggregatedBlockInputStream.h>
|
|
|
|
|
|
namespace DB
|
|
{
|
|
|
|
Block MergingAggregatedBlockInputStream::getHeader() const
|
|
{
|
|
return aggregator.getHeader(final);
|
|
}
|
|
|
|
|
|
Block MergingAggregatedBlockInputStream::readImpl()
|
|
{
|
|
if (!executed)
|
|
{
|
|
executed = true;
|
|
AggregatedDataVariants data_variants;
|
|
|
|
Aggregator::CancellationHook hook = [&]() { return this->isCancelled(); };
|
|
aggregator.setCancellationHook(hook);
|
|
|
|
aggregator.mergeStream(children.back(), data_variants, max_threads);
|
|
blocks = aggregator.convertToBlocks(data_variants, final, max_threads);
|
|
it = blocks.begin();
|
|
}
|
|
|
|
Block res;
|
|
if (isCancelledOrThrowIfKilled() || it == blocks.end())
|
|
return res;
|
|
|
|
res = std::move(*it);
|
|
++it;
|
|
|
|
return res;
|
|
}
|
|
|
|
|
|
}
|