Package org.apache.druid.sql.calcite.rel
Class VirtualColumnRegistry
java.lang.Object
org.apache.druid.sql.calcite.rel.VirtualColumnRegistry
Provides facilities to create and re-use
VirtualColumn definitions for dimensions, filters, and filtered
aggregators while constructing a DruidQuery.-
Method Summary
Modifier and TypeMethodDescriptionstatic VirtualColumnRegistrycreate(RowSignature rowSignature, ExpressionParser expressionParser, boolean forceExpressionVirtualColumns) findVirtualColumnExpressions(List<String> allColumns) Given a list of column names, find any correspondingVirtualColumnwith the same nameCollection<? extends VirtualColumn>getAllVirtualColumns(List<String> requiredColumns) Get a signature representing the base signature plus all registered virtual columns.getOrCreateVirtualColumnForExpression(DruidExpression expression, org.apache.calcite.rel.type.RelDataType typeHint) getOrCreateVirtualColumnForExpression(DruidExpression expression, ColumnType typeHint) getOrCreateVirtualColumnForExpression(PlannerContext plannerContext, DruidExpression expression, ColumnType valueType) Deprecated.getVirtualColumn(String virtualColumnName) Get existing virtual column by column name.booleanisEmpty()booleanisVirtualColumnDefined(String virtualColumnName) Check if aVirtualColumnis defined by column name
-
Method Details
-
create
public static VirtualColumnRegistry create(RowSignature rowSignature, ExpressionParser expressionParser, boolean forceExpressionVirtualColumns) -
isEmpty
public boolean isEmpty() -
isVirtualColumnDefined
Check if aVirtualColumnis defined by column name -
getOrCreateVirtualColumnForExpression
public String getOrCreateVirtualColumnForExpression(DruidExpression expression, ColumnType typeHint) -
getOrCreateVirtualColumnForExpression
public String getOrCreateVirtualColumnForExpression(DruidExpression expression, org.apache.calcite.rel.type.RelDataType typeHint) -
getVirtualColumn
Get existing virtual column by column name.- Returns:
- null if a virtual column for the given name does not exist.
-
getFullRowSignature
Get a signature representing the base signature plus all registered virtual columns. -
findVirtualColumnExpressions
Given a list of column names, find any correspondingVirtualColumnwith the same name -
getAllVirtualColumns
-
getOrCreateVirtualColumnForExpression
@Deprecated public VirtualColumn getOrCreateVirtualColumnForExpression(PlannerContext plannerContext, DruidExpression expression, ColumnType valueType) Deprecated. -
build
-
getOrCreateVirtualColumnForExpression(DruidExpression, ColumnType)instead