```
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/test/java/org/elasticsearch/xpack/esql/analysis/AnalyzerTests.java
@Override
    protected List<String> filteredWarnings() {
        return withDefaultLimitWarning(super.filteredWarnings());
    }
    private static LogicalPlan analyzeWithEmptyFieldCapsResponse(String query) throws IOException {
        IndexResolution resolution = IndexResolver.mergedMappings(
            EsqlDataTypeRegistry.INSTANCE,
            "test*",
            readFieldCapsResponse("empty_field_caps_response.json"),
            EsqlSession::specificValidity,
            IndexResolver.PRESERVE_PROPERTIES,
            IndexResolver.INDEX_METADATA_FIELD
        );
        var analyzer = analyzer(resolution, TEST_VERIFIER, configuration(query));
        return analyze(query, analyzer);
    }
    private static FieldCapabilitiesResponse readFieldCapsResponse(String resourceName) throws IOException {
        InputStream stream = AnalyzerTests.class.getResourceAsStream("/" + resourceName);
        BytesReference ref = Streams.readFully(stream);
        XContentParser parser = XContentHelper.createParser(XContentParserConfiguration.EMPTY, ref, XContentType.JSON);
        return FieldCapabilitiesResponse.fromXContent(parser);
    }
    private void assertEmptyEsRelation(LogicalPlan plan) {
        assertThat(plan, instanceOf(EsRelation.class));
        EsRelation esRelation = (EsRelation) plan;
        assertThat(esRelation.output(), equalTo(NO_FIELDS));
        assertTrue(esRelation.index().mapping().isEmpty());
    }
}