#pragma once #include #include namespace DB { class Context; /** Implements `databases` system table, which allows you to get information about all databases. */ class StorageSystemDatabases final : public ext::shared_ptr_helper, public IStorageSystemOneBlock { friend struct ext::shared_ptr_helper; public: std::string getName() const override { return "SystemDatabases"; } static NamesAndTypesList getNamesAndTypes(); protected: using IStorageSystemOneBlock::IStorageSystemOneBlock; void fillData(MutableColumns & res_columns, const Context & context, const SelectQueryInfo &) const override; }; }