| 226 | } |
| 227 | |
| 228 | String getRuntimeFilterId(const ActionsDAG::Node * node) |
| 229 | { |
| 230 | /// The first `__applyFilter` argument is a const whose DAG result NAME is the stable |
| 231 | /// structural id (`_runtime_filter_<hash>`), under which `runtime_filter_names` is keyed |
| 232 | /// (`BuildRuntimeFilterStep::getFilterName`). Its VALUE is the volatile per-plan-build |
| 233 | /// rendezvous key, which must never surface in EXPLAIN — so key on the result name. |
| 234 | return node->children[0]->result_name; |
| 235 | } |
| 236 | |
| 237 | String formatSetPretty( |
| 238 | const ActionsDAG::Node * set_node, |