### 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/sql/qa/server/src/main/java/org/elasticsearch/xpack/sql/qa/rest/RestSqlTestCase.java
return emptyMap();
        }, containsString("No type specified for runtime field [address]"));
        runtimeMappings = "{\"address\": [{\"script\": \"return\"}]}";
        request.setEntity(
            new StringEntity(
                query("SELECT * FROM " + indexPattern("test")).mode(mode).runtimeMappings(runtimeMappings).toString(),
                ContentType.APPLICATION_JSON
            )
        );
        expectBadRequest(() -> {
            client().performRequest(request);
            return emptyMap();
        }, containsString("Expected map for runtime field [address] definition but got [String]"));
    }
    public static void expectBadRequest(CheckedSupplier<Map<String, Object>, Exception> code, Matcher<String> errorMessageMatcher) {
        try {
            Map<String, Object> result = code.get();
            fail("expected ResponseException but got " + result);
        } catch (ResponseException e) {
            if (400 != e.getResponse().getStatusLine().getStatusCode()) {
                String body;
                try {
                    body = Streams.copyToString(new InputStreamReader(e.getResponse().getEntity().getContent(), StandardCharsets.UTF_8));
                } catch (IOException bre) {
                    throw new RuntimeException("error reading body after remote sent bad status", bre);
                }
                fail("expected [400] response but get [" + e.getResponse().getStatusLine().getStatusCode() + "] with body:\n" + body);
            }
            assertThat(e.getMessage(), errorMessageMatcher);
        } catch (Exception e) {