1#pragma once
2
3#include <ext/shared_ptr_helper.h>
4#include <Storages/System/IStorageSystemOneBlock.h>
5
6namespace DB
7{
8
9class Context;
10
11
12/** Implements `events` system table, which allows you to obtain information for profiling.
13 */
14class StorageSystemEvents : public ext::shared_ptr_helper<StorageSystemEvents>, public IStorageSystemOneBlock<StorageSystemEvents>
15{
16 friend struct ext::shared_ptr_helper<StorageSystemEvents>;
17public:
18 std::string getName() const override { return "SystemEvents"; }
19
20 static NamesAndTypesList getNamesAndTypes();
21
22protected:
23 using IStorageSystemOneBlock::IStorageSystemOneBlock;
24
25 void fillData(MutableColumns & res_columns, const Context & context, const SelectQueryInfo & query_info) const override;
26};
27
28}
29