public class VirtualColumnRegistry extends Object
VirtualColumn definitions for dimensions, filters, and filtered
aggregators while constructing a DruidQuery.| Modifier and Type | Method and Description |
|---|---|
static VirtualColumnRegistry |
create(RowSignature rowSignature,
ExprMacroTable macroTable,
boolean forceExpressionVirtualColumns) |
List<DruidExpression> |
findVirtualColumnExpressions(List<String> allColumns)
Given a list of column names, find any corresponding
VirtualColumn with the same name |
List<VirtualColumn> |
findVirtualColumns(List<String> allColumns)
Deprecated.
use
findVirtualColumnExpressions(List) instead |
Collection<? extends VirtualColumn> |
getAllVirtualColumns(List<String> requiredColumns) |
RowSignature |
getFullRowSignature()
Get a signature representing the base signature plus all registered virtual columns.
|
String |
getOrCreateVirtualColumnForExpression(DruidExpression expression,
ColumnType typeHint)
|
String |
getOrCreateVirtualColumnForExpression(DruidExpression expression,
org.apache.calcite.rel.type.RelDataType typeHint)
|
VirtualColumn |
getOrCreateVirtualColumnForExpression(PlannerContext plannerContext,
DruidExpression expression,
ColumnType valueType)
Deprecated.
|
VirtualColumn |
getOrCreateVirtualColumnForExpression(PlannerContext plannerContext,
DruidExpression expression,
org.apache.calcite.rel.type.RelDataType dataType)
Deprecated.
|
VirtualColumn |
getVirtualColumn(String virtualColumnName)
Get existing virtual column by column name.
|
String |
getVirtualColumnByExpression(DruidExpression expression,
org.apache.calcite.rel.type.RelDataType typeHint) |
VirtualColumn |
getVirtualColumnByExpression(String expression,
org.apache.calcite.rel.type.RelDataType type)
Deprecated.
|
boolean |
isVirtualColumnDefined(String virtualColumnName)
Check if a
VirtualColumn is defined by column name |
void |
visitAllSubExpressions(DruidExpression.DruidExpressionShuttle shuttle) |
public static VirtualColumnRegistry create(RowSignature rowSignature, ExprMacroTable macroTable, boolean forceExpressionVirtualColumns)
public boolean isVirtualColumnDefined(String virtualColumnName)
VirtualColumn is defined by column namepublic String getOrCreateVirtualColumnForExpression(DruidExpression expression, ColumnType typeHint)
public String getOrCreateVirtualColumnForExpression(DruidExpression expression, org.apache.calcite.rel.type.RelDataType typeHint)
@Nullable public VirtualColumn getVirtualColumn(String virtualColumnName)
@Nullable public String getVirtualColumnByExpression(DruidExpression expression, org.apache.calcite.rel.type.RelDataType typeHint)
public RowSignature getFullRowSignature()
public List<DruidExpression> findVirtualColumnExpressions(List<String> allColumns)
VirtualColumn with the same namepublic void visitAllSubExpressions(DruidExpression.DruidExpressionShuttle shuttle)
public Collection<? extends VirtualColumn> getAllVirtualColumns(List<String> requiredColumns)
@Deprecated public List<VirtualColumn> findVirtualColumns(List<String> allColumns)
findVirtualColumnExpressions(List) instead@Deprecated public VirtualColumn getOrCreateVirtualColumnForExpression(PlannerContext plannerContext, DruidExpression expression, ColumnType valueType)
getOrCreateVirtualColumnForExpression(DruidExpression, ColumnType) instead@Deprecated public VirtualColumn getOrCreateVirtualColumnForExpression(PlannerContext plannerContext, DruidExpression expression, org.apache.calcite.rel.type.RelDataType dataType)
getOrCreateVirtualColumnForExpression(DruidExpression, RelDataType) instead@Deprecated @Nullable public VirtualColumn getVirtualColumnByExpression(String expression, org.apache.calcite.rel.type.RelDataType type)
getVirtualColumnByExpression(DruidExpression, RelDataType) insteadCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.