Class DruidExpression

java.lang.Object
org.apache.druid.sql.calcite.expression.DruidExpression

public class DruidExpression extends Object
Represents two kinds of expression-like concepts that native Druid queries support: (1) SimpleExtractions, which are direct column access, possibly with an extractionFn (2) native Druid expressions and virtual columns When added to VirtualColumnRegistry whenever used by projections, filters, aggregators, or other query components, these will be converted into native virtual columns using toVirtualColumn(String, ColumnType, ExpressionParser) Approximate expression structure is retained in the arguments, which when fed into the DruidExpression.ExpressionGenerator that all DruidExpression must be created with will produce the final String expression (which will be later parsed into Expr during native processing). This allows using the DruidExpression.DruidExpressionShuttle to examine this expression "tree" and potentially rewrite some or all of the tree as it visits nodes, and the nodeType property provides high level classification of the types of expression which a node produces.