#pragma once #include #include #include #include namespace DB { namespace ClusterProxy { class SelectStreamFactory final : public IStreamFactory { public: SelectStreamFactory( const Block & header_, QueryProcessingStage::Enum processed_stage_, bool has_virtual_shard_num_column_); void createForShard( const Cluster::ShardInfo & shard_info, const ASTPtr & query_ast, const StorageID & main_table, const ASTPtr & table_func_ptr, ContextPtr context, std::vector & local_plans, Shards & remote_shards, UInt32 shard_count) override; private: const Block header; QueryProcessingStage::Enum processed_stage; bool has_virtual_shard_num_column = false; }; } }