Use pulling executor in GlobalSubqueriesMatcher

This commit is contained in:
Nikolai Kochetov 2021-01-22 12:35:15 +03:00
parent eb4163c1fa
commit 3cce851f18

View File

@ -17,6 +17,7 @@
#include <Interpreters/InDepthNodeVisitor.h>
#include <Interpreters/IdentifierSemantic.h>
#include <Interpreters/Context.h>
#include <Processors/Executors/PullingPipelineExecutor.h>
namespace DB
{
@ -140,16 +141,15 @@ public:
{
auto external_table = external_storage_holder->getTable();
auto table_out = external_table->write({}, external_table->getInMemoryMetadataPtr(), context);
auto stream = interpreter->execute().getInputStream();
auto io = interpreter->execute();
PullingPipelineExecutor executor(io.pipeline);
table_out->writePrefix();
stream->readPrefix();
while (Block block = stream->read())
{
Block block;
while (!executor.pull(block))
table_out->write(block);
}
table_out->writeSuffix();
stream->readSuffix();
}
else
{