final boolean sortByDimsFirst = getContextSortByDimsFirst(); final Comparator<Row> timeComparator = getTimeComparator(granular);
final boolean sortByDimsFirst = getContextSortByDimsFirst();
private Function<Sequence<Row>, Sequence<Row>> makePostProcessingFn() { Function<Sequence<Row>, Sequence<Row>> postProcessingFn = limitSpec.build( dimensions, aggregatorSpecs, postAggregatorSpecs, getGranularity(), getContextSortByDimsFirst() ); if (havingSpec != null) { postProcessingFn = Functions.compose( postProcessingFn, (Sequence<Row> input) -> { havingSpec.setRowSignature(GroupByQueryHelper.rowSignatureFor(GroupByQuery.this)); havingSpec.setAggregators(getAggregatorsMap(aggregatorSpecs)); return Sequences.filter(input, havingSpec::eval); } ); } return postProcessingFn; }
query.getContextSortByDimsFirst(), query.getDimensions(), querySpecificConfig.getMaxMergingDictionarySize() / (concurrencyHint == -1 ? 1 : concurrencyHint), final Grouper.KeySerdeFactory<RowBasedKey> combineKeySerdeFactory = new RowBasedKeySerdeFactory( includeTimestamp, query.getContextSortByDimsFirst(), query.getDimensions(), querySpecificConfig.getMaxMergingDictionarySize(), // use entire dictionary space for combining key serde