Processors support for StorageValues reading.

This commit is contained in:
Nikolai Kochetov 2020-02-17 18:07:42 +03:00
parent 5372942aef
commit 4cc3eaa9ce
2 changed files with 12 additions and 3 deletions

View File

@ -2,6 +2,8 @@
#include <Storages/ColumnsDescription.h>
#include <Storages/StorageValues.h>
#include <DataStreams/OneBlockInputStream.h>
#include <Processors/Sources/SourceFromSingleChunk.h>
#include <Processors/Pipe.h>
namespace DB
@ -13,7 +15,7 @@ StorageValues::StorageValues(const StorageID & table_id_, const ColumnsDescripti
setColumns(columns_);
}
BlockInputStreams StorageValues::read(
Pipes StorageValues::readWithProcessors(
const Names & column_names,
const SelectQueryInfo & /*query_info*/,
const Context & /*context*/,
@ -23,7 +25,12 @@ BlockInputStreams StorageValues::read(
{
check(column_names, true);
return BlockInputStreams(1, std::make_shared<OneBlockInputStream>(res_block));
Pipes pipes;
Chunk chunk(res_block.getColumns(), res_block.rows());
pipes.emplace_back(std::make_shared<SourceFromSingleChunk>(res_block.cloneEmpty(), std::move(chunk)));
return pipes;
}
}

View File

@ -15,7 +15,7 @@ class StorageValues : public ext::shared_ptr_helper<StorageValues>, public IStor
public:
std::string getName() const override { return "Values"; }
BlockInputStreams read(
Pipes readWithProcessors(
const Names & column_names,
const SelectQueryInfo & query_info,
const Context & context,
@ -23,6 +23,8 @@ public:
size_t max_block_size,
unsigned num_streams) override;
bool supportProcessorsPipeline() const override { return true; }
private:
Block res_block;