### Description

Two indices:

**test1**
```
{
    "settings": {
        "routing_path": "event.dataset",
        "index": {
            "mode": "time_series"
        }
    },
    "mappings": {
        "properties": {
            "@timestamp": {
                "type": "date"
            },
            "bytes_counter": {
                "type": "long",
                "time_series_metric": "counter"
            },
            "event": {
                "properties": {
                    "dataset": {
                        "type": "keyword",
                        "time_series_dimension": true
                    }
                }
            }
        }
    }
}
```

with data

```
{ "index": { } }
{ "bytes":123,"@timestamp":123456789, "event.dataset":"x" }
```

**test2**
```
{
    "mappings": {
      "properties": {
        "bytes_counter": {
          "type": "long"
        }
      }
    }
}
```

with no data.

Running `from test* | limit 1` results in 

```
{
    "error": {
        "root_cause": [
            {
                "type": "illegal_argument_exception",
                "reason": "Field type [counter] is not supported"
            }
        ],
        "type": "illegal_argument_exception",
        "reason": "Field type [counter] is not supported"
    },
    "status": 400
}
```

Running `from test* | limit 0` results in

```
{
    "columns": [
        {
            "name": "@timestamp",
            "type": "date"
        },
        {
            "name": "bytes",
            "type": "long"
        },
        {
            "name": "bytes_counter",
            "type": "long"
        },
        {
            "name": "event.dataset",
            "type": "keyword"
        }
    ],
    "values": []
}
```

**Notice above `bytes_counter` as `long`**. Running `from test1 | limit 0` results in

```
{
    "columns": [
        {
            "name": "@timestamp",
            "type": "date"
        },
        {
            "name": "bytes",
            "type": "long"
        },
        {
            "name": "bytes_counter",
            "type": "unsupported"
        },
        {
            "name": "event.dataset",
            "type": "keyword"
        }
    ],
    "values": []
}
```
**Notice now the `bytes_counter` is unsupported**.
In a nutshell, `bytes_counter` is mapped as `long` in both indices, but the additional meta information about test1 variant is that this field is a time series `counter` field which is unsupported. When loading values, the source operator complains that the field is unsupported.
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session/EsqlSession.java
}
                return f;
            })))
        );
    }
    private LogicalPlan parse(String query, List<TypedParamValue> params) {
        var parsed = new EsqlParser().createStatement(query, params);
        LOGGER.debug("Parsed logical plan:\n{}", parsed);
        return parsed;
    }
    public void analyzedPlan(LogicalPlan parsed, ActionListener<LogicalPlan> listener) {
        if (parsed.analyzed()) {
            listener.onResponse(parsed);
            return;
        }
        preAnalyze(parsed, (indices, policies) -> {
            Analyzer analyzer = new Analyzer(new AnalyzerContext(configuration, functionRegistry, indices, policies), verifier);
            var plan = analyzer.analyze(parsed);
            LOGGER.debug("Analyzed plan:\n{}", plan);
            return plan;
        }, listener);
    }
    private <T> void preAnalyze(LogicalPlan parsed, BiFunction<IndexResolution, EnrichResolution, T> action, ActionListener<T> listener) {
        PreAnalyzer.PreAnalysis preAnalysis = preAnalyzer.preAnalyze(parsed);
        Set<String> policyNames = new HashSet<>(preAnalysis.policyNames);
        EnrichResolution resolution = new EnrichResolution(ConcurrentCollections.newConcurrentSet(), enrichPolicyResolver.allPolicyNames());
        AtomicReference<IndexResolution> resolvedIndex = new AtomicReference<>();
        ActionListener<Void> groupedListener = listener.delegateFailureAndWrap((l, unused) -> {
            assert resolution.resolvedPolicies().size() == policyNames.size()
                : resolution.resolvedPolicies().size() + " != " + policyNames.size();