```
show functions | keep description, *on | mv_expand description
```

```
{
    "error": {
        "root_cause": [
            {
                "type": "unresolved_exception",
                "reason": "Invalid call to dataType on an unresolved object ?description"
            }
        ],
        "type": "unresolved_exception",
        "reason": "Invalid call to dataType on an unresolved object ?description"
    },
    "status": 500
}
```

```
org.elasticsearch.xpack.ql.capabilities.UnresolvedException: Invalid call to dataType on an unresolved object ?description
        at org.elasticsearch.xpack.ql.expression.UnresolvedAttribute.dataType(UnresolvedAttribute.java:90)
        at org.elasticsearch.xpack.esql.analysis.Analyzer$ResolveRefs.resolveMvExpand(Analyzer.java:350)
        at org.elasticsearch.xpack.esql.analysis.Analyzer$ResolveRefs.doRule(Analyzer.java:334)
        at org.elasticsearch.xpack.ql.analyzer.AnalyzerRules$BaseAnalyzerRule.rule(AnalyzerRules.java:120)
        at org.elasticsearch.xpack.ql.analyzer.AnalyzerRules$AnalyzerRule.lambda$apply$0(AnalyzerRules.java:85)
```

It should throw a VerificationException and propagate the unresolved attribute message instead
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/analysis/Analyzer.java
}
            } else {
                for (NamedExpression enrichField : enrichFields) {
                    String enrichFieldName = Expressions.name(enrichField instanceof Alias a ? a.child() : enrichField);
                    NamedExpression field = createEnrichFieldExpression(source, policyName, fieldMap, enrichFieldName);
                    result.add(enrichField instanceof Alias a ? new Alias(a.source(), a.name(), field) : field);
                }
            }
            return result;
        }
        private static NamedExpression createEnrichFieldExpression(
            Source source,
            String policyName,
            Map<String, Attribute> fieldMap,
            String enrichFieldName
        ) {
            Attribute mappedField = fieldMap.get(enrichFieldName);
            if (mappedField == null) {
                String msg = "Enrich field [" + enrichFieldName + "] not found in enrich policy [" + policyName + "]";
                List<String> similar = StringUtils.findSimilar(enrichFieldName, fieldMap.keySet());
                if (CollectionUtils.isEmpty(similar) == false) {
                    msg += ", did you mean " + (similar.size() == 1 ? "[" + similar.get(0) + "]" : "any of " + similar) + "?";
                }
                return new UnresolvedAttribute(source, enrichFieldName, null, msg);
            } else {
                return new ReferenceAttribute(source, enrichFieldName, mappedField.dataType(), null, Nullability.TRUE, null, false);
            }
        }
    }
    private static class ResolveRefs extends BaseAnalyzerRule {