| 149 | } |
| 150 | |
| 151 | JoinStepLogical::JoinStepLogical( |
| 152 | SharedHeader left_header_, |
| 153 | SharedHeader right_header_, |
| 154 | JoinOperator join_operator_, |
| 155 | JoinExpressionActions join_expression_actions_, |
| 156 | const NameSet & required_output_columns_, |
| 157 | const std::unordered_map<String, const ActionsDAG::Node *> & changed_types, |
| 158 | bool use_nulls_, |
| 159 | JoinSettings join_settings_, |
| 160 | SortingStep::Settings sorting_settings_) |
| 161 | : expression_actions(std::move(join_expression_actions_)) |
| 162 | , join_operator(std::move(join_operator_)) |
| 163 | , join_settings(std::move(join_settings_)) |
| 164 | , sorting_settings(std::move(sorting_settings_)) |
| 165 | { |
| 166 | if (!changed_types.empty()) |
| 167 | { |
| 168 | /// FIXME: do not reorder join with `using` clause |
| 169 | optimized = true; |
| 170 | } |
| 171 | addToNullableIfNeeded(expression_actions, join_operator.kind, use_nulls_, required_output_columns_, actions_after_join, changed_types); |
| 172 | updateInputHeaders({left_header_, right_header_}); |
| 173 | } |
| 174 | |
| 175 | JoinStepLogical::JoinStepLogical( |
| 176 | const SharedHeader & left_header_, |
nothing calls this directly
no test coverage detected