public class Projection extends Object
Sorting and Grouping to
store post-sorting and post-grouping projections, as well as directly in DruidQuery to store potential
post-selection projections. They may be built using either virtual columns (pre-aggregation) or post-aggregators.
It is expected that callers will create and use Projection instances in the same context (pre- or post-aggregation).
If this isn't done properly (i.e. a caller creates a pre-aggregation Projection but then calls
getPostAggregators() then an exception will be thrown.| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
RowSignature |
getOutputRowSignature() |
List<PostAggregator> |
getPostAggregators() |
List<VirtualColumn> |
getVirtualColumns() |
int |
hashCode() |
static Projection |
postAggregation(org.apache.calcite.rel.core.Project project,
PlannerContext plannerContext,
RowSignature inputRowSignature,
String basePrefix) |
static Projection |
preAggregation(org.apache.calcite.rel.core.Project project,
PlannerContext plannerContext,
RowSignature inputRowSignature,
VirtualColumnRegistry virtualColumnRegistry) |
String |
toString() |
public static Projection postAggregation(org.apache.calcite.rel.core.Project project, PlannerContext plannerContext, RowSignature inputRowSignature, String basePrefix)
public static Projection preAggregation(org.apache.calcite.rel.core.Project project, PlannerContext plannerContext, RowSignature inputRowSignature, VirtualColumnRegistry virtualColumnRegistry)
public List<PostAggregator> getPostAggregators()
public List<VirtualColumn> getVirtualColumns()
public RowSignature getOutputRowSignature()
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.