public class GroupByQueryEngineV2 extends Object
StorageAdapter. It returns a Sequence
of ResultRow objects that are not guaranteed to be in any particular order, and may not even be fully
grouped. It is expected that a downstream GroupByMergingQueryRunnerV2 will finish grouping these results.
This code runs on data servers, like Historicals.
Used by
GroupByStrategyV2.process(GroupByQuery, StorageAdapter).| Modifier and Type | Method and Description |
|---|---|
static boolean |
canPushDownLimit(ColumnSelectorFactory columnSelectorFactory,
String columnName)
check if a column will operate correctly with
LimitedBufferHashGrouper for query limit pushdown |
static void |
convertRowTypesToOutputTypes(List<DimensionSpec> dimensionSpecs,
ResultRow resultRow,
int resultRowDimensionStart) |
static int |
getCardinalityForArrayAggregation(GroupByQueryConfig querySpecificConfig,
GroupByQuery query,
StorageAdapter storageAdapter,
ByteBuffer buffer)
Returns the cardinality of array needed to do array-based aggregation, or -1 if array-based aggregation
is impossible.
|
static boolean |
isAllSingleValueDims(Function<String,ColumnCapabilities> capabilitiesFunction,
List<DimensionSpec> dimensions,
boolean missingMeansNonExistent)
Checks whether all "dimensions" are either single-valued, or if allowed, nonexistent.
|
static Sequence<ResultRow> |
process(GroupByQuery query,
StorageAdapter storageAdapter,
NonBlockingPool<ByteBuffer> intermediateResultsBufferPool,
GroupByQueryConfig querySpecificConfig,
QueryConfig queryConfig) |
public static Sequence<ResultRow> process(GroupByQuery query, @Nullable StorageAdapter storageAdapter, NonBlockingPool<ByteBuffer> intermediateResultsBufferPool, GroupByQueryConfig querySpecificConfig, QueryConfig queryConfig)
public static int getCardinalityForArrayAggregation(GroupByQueryConfig querySpecificConfig, GroupByQuery query, StorageAdapter storageAdapter, ByteBuffer buffer)
public static boolean isAllSingleValueDims(Function<String,ColumnCapabilities> capabilitiesFunction, List<DimensionSpec> dimensions, boolean missingMeansNonExistent)
public static void convertRowTypesToOutputTypes(List<DimensionSpec> dimensionSpecs, ResultRow resultRow, int resultRowDimensionStart)
public static boolean canPushDownLimit(ColumnSelectorFactory columnSelectorFactory, String columnName)
LimitedBufferHashGrouper for query limit pushdownCopyright © 2011–2020 The Apache Software Foundation. All rights reserved.