2017-12-04 15:44:31 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-04-19 20:47:29 +00:00
|
|
|
#include <boost/noncopyable.hpp>
|
2017-12-12 15:54:03 +00:00
|
|
|
#include <Storages/System/StorageSystemPartsBase.h>
|
2017-12-04 15:44:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
|
|
|
class Context;
|
|
|
|
|
|
|
|
|
2017-12-12 15:54:03 +00:00
|
|
|
/** Implements system table 'parts_columns' which allows to get information about
|
|
|
|
* columns in data parts for tables of MergeTree family.
|
|
|
|
*/
|
2022-04-19 20:47:29 +00:00
|
|
|
class StorageSystemPartsColumns final : public StorageSystemPartsBase, boost::noncopyable
|
2017-12-04 15:44:31 +00:00
|
|
|
{
|
|
|
|
public:
|
2022-04-19 20:47:29 +00:00
|
|
|
explicit StorageSystemPartsColumns(const StorageID & table_id_);
|
|
|
|
|
2017-12-04 15:44:31 +00:00
|
|
|
std::string getName() const override { return "SystemPartsColumns"; }
|
|
|
|
|
|
|
|
protected:
|
2021-02-21 14:04:55 +00:00
|
|
|
void processNextStorage(
|
2021-06-02 20:03:44 +00:00
|
|
|
ContextPtr context, MutableColumns & columns, std::vector<UInt8> & columns_mask, const StoragesInfo & info, bool has_state_column) override;
|
2017-12-04 15:44:31 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|