### Description

Only "search hits" based queries (no aggregations) provide a consistent view on the data when paginating through the result set. With point-in-time, it is possible to support transactional semantics for aggregation queries as well.

This issue is somewhat blocked by https://github.com/elastic/elasticsearch/issues/75528 because a PIT can not immediately be closed if the aggregation result set contains less than `fetch_size` records. This could cause some increased resource utilization due to open PITs. Especially if the client does not close the SQL cursor.
x-pack/plugin/sql/qa/server/src/main/java/org/elasticsearch/xpack/sql/qa/rest/BaseRestSqlTestCase.java
public RequestObjectBuilder runtimeMappings(String runtimeMappings) {
            request.append(field(RUNTIME_MAPPINGS_NAME, runtimeMappings));
            return this;
        }
        public RequestObjectBuilder indexIncludeFrozen(boolean includeFrozen) {
            request.append(field(INDEX_INCLUDE_FROZEN_NAME, includeFrozen));
            return this;
        }
        private static String field(String name, Object value) {
            if (value == null) {
                return StringUtils.EMPTY;
            }
            String field = "\"" + name + "\":";
            if (value instanceof String) {
                if (((String) value).isEmpty()) {
                    return StringUtils.EMPTY;
                }
                String lowerName = name.toLowerCase(Locale.ROOT);
                if (lowerName.equals(PARAMS_NAME) || lowerName.equals(FILTER_NAME) || lowerName.equals(RUNTIME_MAPPINGS_NAME)) {
                    field += value;
                } else {
                    field += "\"" + value + "\"";
                }
            } else {
                field += value;
            }
            return "," + field;
        }
        @Override
        public String toString() {