#pragma once #include #include #include #include #include #include namespace DB { /// Provides information about Graphite configuration. class StorageSystemGraphite final : public ext::shared_ptr_helper, public IStorageSystemOneBlock { friend struct ext::shared_ptr_helper; public: std::string getName() const override { return "SystemGraphite"; } static NamesAndTypesList getNamesAndTypes(); struct Config { Graphite::Params graphite_params; Array databases; Array tables; }; using Configs = std::map; protected: using IStorageSystemOneBlock::IStorageSystemOneBlock; void fillData(MutableColumns & res_columns, ContextPtr context, const SelectQueryInfo & query_info) const override; }; }