Class Projection

java.lang.Object
org.apache.druid.sql.calcite.rel.Projection

public class Projection extends Object
Used to represent projections (Calcite "Project"). These are embedded in 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.