2020-06-16 14:11:19 +00:00
|
|
|
#pragma once
|
|
|
|
#include <Processors/QueryPlan/IQueryPlanStep.h>
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2020-06-22 10:18:28 +00:00
|
|
|
/// Step which takes empty pipeline and initializes it. Returns single logical DataStream.
|
2020-06-16 14:11:19 +00:00
|
|
|
class ISourceStep : public IQueryPlanStep
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
explicit ISourceStep(DataStream output_stream_);
|
|
|
|
|
2021-03-04 17:38:12 +00:00
|
|
|
QueryPipelinePtr updatePipeline(QueryPipelines pipelines, const BuildQueryPipelineSettings & settings) override;
|
2020-06-16 14:11:19 +00:00
|
|
|
|
2021-03-04 17:38:12 +00:00
|
|
|
virtual void initializePipeline(QueryPipeline & pipeline, const BuildQueryPipelineSettings & settings) = 0;
|
2020-06-25 09:39:17 +00:00
|
|
|
|
|
|
|
void describePipeline(FormatSettings & settings) const override;
|
|
|
|
|
2020-09-25 13:19:26 +00:00
|
|
|
protected:
|
2020-06-25 09:39:17 +00:00
|
|
|
/// We collect processors got after pipeline transformation.
|
|
|
|
Processors processors;
|
2020-06-16 14:11:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|