```
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
return plan;
            }
            String policyName = (String) plan.policyName().fold();
            EnrichPolicyResolution policyRes = context.enrichResolution()
                .resolvedPolicies()
                .stream()
                .filter(x -> x.policyName().equals(policyName))
                .findFirst()
                .orElse(new EnrichPolicyResolution(policyName, null, null));
            IndexResolution idx = policyRes.index();
            EnrichPolicy policy = policyRes.policy();
            var policyNameExp = policy == null || idx == null
                ? new UnresolvedAttribute(
                    plan.policyName().source(),
                    policyName,
                    null,
                    unresolvedPolicyError(policyName, context.enrichResolution())
                )
                : plan.policyName();
            var matchField = policy != null && (plan.matchField() == null || plan.matchField() instanceof EmptyAttribute)
                ? new UnresolvedAttribute(plan.source(), policy.getMatchField())
                : plan.matchField();
            List<NamedExpression> enrichFields = policy == null || idx == null
                ? (plan.enrichFields() == null ? List.of() : plan.enrichFields())
                : calculateEnrichFields(
                    plan.source(),
                    policyName,
                    mappingAsAttributes(plan.source(), idx.get().mapping()),
                    plan.enrichFields(),