| 86 | } |
| 87 | |
| 88 | Block FormatFilterInfo::buildKeyConditionInputs( |
| 89 | Block base, |
| 90 | const PrewhereInfoPtr & prewhere_info, |
| 91 | const FilterDAGInfoPtr & row_level_filter) |
| 92 | { |
| 93 | auto add_required = [&](const ActionsDAG & dag) |
| 94 | { |
| 95 | for (const auto & col : dag.getRequiredColumns()) |
| 96 | if (!base.has(col.name)) |
| 97 | base.insert({col.type->createColumn(), col.type, col.name}); |
| 98 | }; |
| 99 | if (row_level_filter) |
| 100 | add_required(row_level_filter->actions); |
| 101 | if (prewhere_info) |
| 102 | add_required(prewhere_info->prewhere_actions); |
| 103 | return base; |
| 104 | } |
| 105 | |
| 106 | void FormatFilterInfo::initKeyConditionOnce(const Block & keys) |
| 107 | { |
nothing calls this directly
no test coverage detected