mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-04 13:32:13 +00:00
Fixing query performance issue in StorageLiveView.cpp by moving to PullingAsyncPipelineExecutor.
This commit is contained in:
parent
9adff8a2b8
commit
239432009b
@ -18,7 +18,7 @@ limitations under the License. */
|
|||||||
#include <Processors/Sources/BlocksSource.h>
|
#include <Processors/Sources/BlocksSource.h>
|
||||||
#include <Processors/Sinks/EmptySink.h>
|
#include <Processors/Sinks/EmptySink.h>
|
||||||
#include <Processors/Transforms/MaterializingTransform.h>
|
#include <Processors/Transforms/MaterializingTransform.h>
|
||||||
#include <Processors/Executors/PullingPipelineExecutor.h>
|
#include <Processors/Executors/PullingAsyncPipelineExecutor.h>
|
||||||
#include <Processors/Transforms/SquashingChunksTransform.h>
|
#include <Processors/Transforms/SquashingChunksTransform.h>
|
||||||
#include <Processors/Transforms/ExpressionTransform.h>
|
#include <Processors/Transforms/ExpressionTransform.h>
|
||||||
#include <base/logger_useful.h>
|
#include <base/logger_useful.h>
|
||||||
@ -120,7 +120,7 @@ MergeableBlocksPtr StorageLiveView::collectMergeableBlocks(ContextPtr local_cont
|
|||||||
new_mergeable_blocks->sample_block = builder.getHeader();
|
new_mergeable_blocks->sample_block = builder.getHeader();
|
||||||
|
|
||||||
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
||||||
PullingPipelineExecutor executor(pipeline);
|
PullingAsyncPipelineExecutor executor(pipeline);
|
||||||
Block this_block;
|
Block this_block;
|
||||||
|
|
||||||
while (executor.pull(this_block))
|
while (executor.pull(this_block))
|
||||||
@ -244,7 +244,7 @@ void StorageLiveView::writeIntoLiveView(
|
|||||||
});
|
});
|
||||||
|
|
||||||
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
||||||
PullingPipelineExecutor executor(pipeline);
|
PullingAsyncPipelineExecutor executor(pipeline);
|
||||||
Block this_block;
|
Block this_block;
|
||||||
|
|
||||||
while (executor.pull(this_block))
|
while (executor.pull(this_block))
|
||||||
@ -385,7 +385,7 @@ bool StorageLiveView::getNewBlocks()
|
|||||||
auto builder = completeQuery(std::move(from));
|
auto builder = completeQuery(std::move(from));
|
||||||
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
auto pipeline = QueryPipelineBuilder::getPipeline(std::move(builder));
|
||||||
|
|
||||||
PullingPipelineExecutor executor(pipeline);
|
PullingAsyncPipelineExecutor executor(pipeline);
|
||||||
Block block;
|
Block block;
|
||||||
while (executor.pull(block))
|
while (executor.pull(block))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user