mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-06 16:40:48 +00:00
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
|
#pragma once
|
||
|
|
||
|
#include <ext/shared_ptr_helper.h>
|
||
|
#include <Storages/IStorage.h>
|
||
|
|
||
|
|
||
|
namespace DB
|
||
|
{
|
||
|
|
||
|
class Context;
|
||
|
|
||
|
|
||
|
/** Implements system table 'parts' which allows to get information about data parts for tables of MergeTree family.
|
||
|
*/
|
||
|
class StorageSystemPartsColumns : public ext::shared_ptr_helper<StorageSystemPartsColumns>, public IStorage
|
||
|
{
|
||
|
public:
|
||
|
std::string getName() const override { return "SystemPartsColumns"; }
|
||
|
std::string getTableName() const override { return name; }
|
||
|
|
||
|
const NamesAndTypesList & getColumnsListImpl() const override { return columns; }
|
||
|
|
||
|
NameAndTypePair getColumn(const String & column_name) const override;
|
||
|
|
||
|
bool hasColumn(const String & column_name) const override;
|
||
|
|
||
|
BlockInputStreams read(
|
||
|
const Names & column_names,
|
||
|
const SelectQueryInfo & query_info,
|
||
|
const Context & context,
|
||
|
QueryProcessingStage::Enum & processed_stage,
|
||
|
size_t max_block_size,
|
||
|
unsigned num_streams) override;
|
||
|
|
||
|
private:
|
||
|
const std::string name;
|
||
|
NamesAndTypesList columns;
|
||
|
|
||
|
protected:
|
||
|
StorageSystemPartsColumns(const std::string & name_);
|
||
|
};
|
||
|
|
||
|
}
|