#pragma once #include #include #include #include #include #include #include namespace DB { struct StorageInMemoryMetadata; using StorageMetadataPtr = std::shared_ptr; class WhereConstraintsOptimizer final { public: WhereConstraintsOptimizer( ASTSelectQuery * select_query, const StorageMetadataPtr & metadata_snapshot); void perform(); private: ASTSelectQuery * select_query; const StorageMetadataPtr & metadata_snapshot; }; }