1#pragma once
2
3#include <ext/shared_ptr_helper.h>
4#include <Storages/System/StorageSystemPartsBase.h>
5
6
7namespace DB
8{
9
10class Context;
11
12
13/** Implements system table 'parts_columns' which allows to get information about
14 * columns in data parts for tables of MergeTree family.
15 */
16class StorageSystemPartsColumns
17 : public ext::shared_ptr_helper<StorageSystemPartsColumns>, public StorageSystemPartsBase
18{
19 friend struct ext::shared_ptr_helper<StorageSystemPartsColumns>;
20public:
21 std::string getName() const override { return "SystemPartsColumns"; }
22
23protected:
24 StorageSystemPartsColumns(const std::string & name_);
25 void processNextStorage(MutableColumns & columns, const StoragesInfo & info, bool has_state_column) override;
26};
27
28}
29