#pragma once #include #include #include #include #include #include namespace DB { using Aliases = std::unordered_map; /// Interpolate description struct InterpolateDescription { explicit InterpolateDescription(ActionsDAG actions, const Aliases & aliases); ActionsDAG actions; std::unordered_map required_columns_map; /// input column name -> {alias, type} std::unordered_set result_columns_set; /// result block columns std::vector result_columns_order; /// result block columns order }; using InterpolateDescriptionPtr = std::shared_ptr; }