#pragma once #include #include #include #include #include #include #include namespace DB { struct StorageInMemoryMetadata; using StorageMetadataPtr = std::shared_ptr; class SubstituteColumnOptimizer { public: SubstituteColumnOptimizer( ASTSelectQuery * select_query, Aliases & /* aliases */, const NameSet & /* source_columns_set */, const std::vector & /* tables_with_columns */, const StorageMetadataPtr & /* metadata_snapshot */, const ConstStoragePtr & storage); void perform(); private: ASTSelectQuery * select_query; /*Aliases & aliases; const NameSet & source_columns_set; const std::vector & tables_with_columns;*/ const StorageMetadataPtr & metadata_snapshot; ConstStoragePtr storage; }; }