(humanizer: &dyn ExprHumanizer, plan: &Plan)
| 1147 | /// `src/expr/src/explain/text.rs` for the MIR `EXPLAIN OPTIMIZED PLAN` output. |
| 1148 | fn humanize_input_name(humanizer: &dyn ExprHumanizer, plan: &Plan, pos: usize) -> String { |
| 1149 | fn dig(humanizer: &dyn ExprHumanizer, plan: &Plan) -> Option<String> { |
| 1150 | use crate::plan::PlanNode::*; |
| 1151 | match &plan.node { |
| 1152 | Get { id, .. } => match id { |
| 1153 | Id::Local(lid) => Some(lid.to_string()), |
| 1154 | Id::Global(gid) => Some( |
| 1155 | humanizer |
| 1156 | .humanize_id_unqualified(*gid) |
| 1157 | .unwrap_or_else(|| gid.to_string()), |
| 1158 | ), |
| 1159 | }, |
| 1160 | // Transparent wrappers: keep digging. |
| 1161 | ArrangeBy { input, .. } => dig(humanizer, input), |
| 1162 | Mfp { input, .. } => dig(humanizer, input), |
| 1163 | _ => None, |
| 1164 | } |
| 1165 | } |
| 1166 | match dig(humanizer, plan) { |
| 1167 | Some(name) => format!("%{pos}:{name}"), |
| 1168 | None => format!("%{pos}"), |
no test coverage detected