#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, Aliases & /* aliases */, const NameSet & /* source_columns_set */, const std::vector & /* tables_with_columns */, const StorageMetadataPtr & metadata_snapshot); void perform(); private: ASTSelectQuery * select_query; /*Aliases & aliases; const NameSet & source_columns_set; const std::vector & tables_with_columns;*/ const StorageMetadataPtr & metadata_snapshot; }; }