### 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/src/main/java/org/elasticsearch/xpack/sql/execution/search/Querier.java
return new CompositeKeyExtractor(r.key(), r.property(), cfg.zoneId(), r.dataType());
            }
            if (ref instanceof MetricAggRef r) {
                return new MetricAggExtractor(r.name(), r.property(), r.innerKey(), cfg.zoneId(), r.dataType());
            }
            if (ref instanceof TopHitsAggRef r) {
                return new TopHitsAggExtractor(r.name(), r.fieldDataType(), cfg.zoneId());
            }
            if (ref instanceof PivotColumnRef r) {
                return new PivotExtractor(createExtractor(r.pivot(), totalCount), createExtractor(r.agg(), totalCount), r.value());
            }
            if (ref == GlobalCountRef.INSTANCE) {
                return totalCount;
            }
            if (ref instanceof ComputedRef computedRef) {
                Pipe proc = computedRef.processor();
                
                proc = proc.transformDown(AggPathInput.class, l -> {
                    BucketExtractor be = createExtractor(l.context(), totalCount);
                    return new AggExtractorInput(l.source(), l.expression(), l.action(), be);
                });
                return new ComputingExtractor(proc.asProcessor());
            }
            throw new SqlIllegalArgumentException("Unexpected value reference {}", ref.getClass());
        }
    }
    /**
     * Dedicated listener for column retrieval/non-grouped queries (search hits).
     */
    static class SearchHitActionListener extends BaseActionListener {