aggregate method

Calculates adapter-side aggregates over the full effective adapter result set. Subclasses that support aggregate queries override this and expose capabilities.aggregates == true.

Implementation

@override
Future<FdcDataAggregateResult> aggregate(
  FdcDataAggregateRequest request,
) async {
  final rows = List<_FdcMemoryRow>.of(_rows, growable: false);
  if (rows.length < _backgroundQueryRowThreshold) {
    return _runMemoryInline(
      () => _FdcMemoryQueryExecutor.aggregate(rows, request),
    );
  }
  return _runMemoryWorker<FdcDataAggregateResult>(
    entryPoint: _memoryAggregateWorker,
    payload: <Object?>[rows, request],
    inlineFallback: () => _FdcMemoryQueryExecutor.aggregate(rows, request),
  );
}