this.minimumGranularity = minimumGranularity; this.requestGranularity = requestGranularity; this.logicalMetricNames = generateLogicalMetricNames();
/** * Constructor. * * @param dataApiRequest <b>Data API request</b> containing the constraints information * @param templateDruidQuery Query containing metric constraint information */ public QueryPlanningConstraint( @NotNull DataApiRequest dataApiRequest, @NotNull TemplateDruidQuery templateDruidQuery ) { super(dataApiRequest, templateDruidQuery); this.logicalTable = dataApiRequest.getTable(); this.intervals = Collections.unmodifiableList(dataApiRequest.getIntervals()); this.logicalMetrics = Collections.unmodifiableSet(dataApiRequest.getLogicalMetrics()); this.minimumGranularity = new RequestQueryGranularityResolver().apply(dataApiRequest, templateDruidQuery); this.requestGranularity = dataApiRequest.getGranularity(); this.logicalMetricNames = generateLogicalMetricNames(); }
/** * Constructor. * * @param tablesApiRequest <b>Tables API request</b> containing the constraints information. */ public QueryPlanningConstraint(@NotNull TablesApiRequest tablesApiRequest) { super( tablesApiRequest.getDimensions(), tablesApiRequest.getFilterDimensions(), Collections.emptySet(), Collections.emptySet(), tablesApiRequest.getApiFilters() ); this.logicalTable = tablesApiRequest.getTable(); this.intervals = Collections.unmodifiableList(tablesApiRequest.getIntervals()); this.logicalMetrics = Collections.unmodifiableSet(tablesApiRequest.getLogicalMetrics()); this.minimumGranularity = tablesApiRequest.getGranularity(); this.requestGranularity = tablesApiRequest.getGranularity(); this.logicalMetricNames = generateLogicalMetricNames(); }