plywood
Version:
A query planner and executor
54 lines • 2.26 kB
TypeScript
import { AttributeInfo } from '../../datatypes';
import { ApplyExpression, Expression } from '../../expressions';
import { CustomDruidAggregations, CustomDruidTransforms } from './druidTypes';
export interface AggregationsAndPostAggregations {
aggregations: Druid.Aggregation[];
postAggregations: Druid.PostAggregation[];
}
export interface DruidAggregationBuilderOptions {
rawAttributes: AttributeInfo[];
timeAttribute: string;
derivedAttributes: Record<string, Expression>;
customAggregations: CustomDruidAggregations;
customTransforms: CustomDruidTransforms;
rollup: boolean;
exactResultsOnly: boolean;
allowEternity: boolean;
}
export declare class DruidAggregationBuilder {
static AGGREGATE_TO_FUNCTION: Record<string, Function>;
static AGGREGATE_TO_ZERO: Record<string, string>;
static APPROX_HISTOGRAM_TUNINGS: string[];
static QUANTILES_DOUBLES_TUNINGS: string[];
static addOptionsToAggregation(aggregation: Druid.Aggregation, expression: Expression): void;
rawAttributes: AttributeInfo[];
timeAttribute: string;
derivedAttributes: Record<string, Expression>;
customAggregations: CustomDruidAggregations;
customTransforms: CustomDruidTransforms;
rollup: boolean;
exactResultsOnly: boolean;
allowEternity: boolean;
constructor(options: DruidAggregationBuilderOptions);
makeAggregationsAndPostAggregations(applies: ApplyExpression[]): AggregationsAndPostAggregations;
private applyToAggregation;
private applyToPostAggregation;
private filterAggregateIfNeeded;
private expressionToAggregation;
private countToAggregation;
private sumMinMaxToAggregation;
private getCardinalityExpressions;
private countDistinctToAggregation;
private customAggregateToAggregation;
private quantileToAggregation;
private getAccessTypeForAggregation;
private getAccessType;
private expressionToPostAggregation;
private expressionToLegacyPostAggregation;
private switchToRollupCount;
private getRollupCountName;
private inlineDerivedAttributes;
private inlineDerivedAttributesInAggregate;
getAttributesInfo(attributeName: string): AttributeInfo;
}
//# sourceMappingURL=druidAggregationBuilder.d.ts.map