Package org.apache.calcite.adapter.druid
Class NaryOperatorConverter
- java.lang.Object
-
- org.apache.calcite.adapter.druid.NaryOperatorConverter
-
- All Implemented Interfaces:
DruidSqlOperatorConverter
public class NaryOperatorConverter extends java.lang.Object implements DruidSqlOperatorConverter
Converts Calcite n-ary operators to druid expression eg (arg1 Op arg2 Op arg3)
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
druidOperatorName
private SqlOperator
operator
-
Constructor Summary
Constructors Constructor Description NaryOperatorConverter(SqlOperator operator, java.lang.String druidOperatorName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlOperator
calciteOperator()
Returns the calcite SQL operator corresponding to Druid operator.java.lang.String
toDruidExpression(RexNode rexNode, RelDataType rowType, DruidQuery druidQuery)
Translate rexNode to valid Druid expression.
-
-
-
Field Detail
-
operator
private final SqlOperator operator
-
druidOperatorName
private final java.lang.String druidOperatorName
-
-
Constructor Detail
-
NaryOperatorConverter
public NaryOperatorConverter(SqlOperator operator, java.lang.String druidOperatorName)
-
-
Method Detail
-
calciteOperator
public SqlOperator calciteOperator()
Description copied from interface:DruidSqlOperatorConverter
Returns the calcite SQL operator corresponding to Druid operator.- Specified by:
calciteOperator
in interfaceDruidSqlOperatorConverter
- Returns:
- operator
-
toDruidExpression
@Nullable public java.lang.String toDruidExpression(RexNode rexNode, RelDataType rowType, DruidQuery druidQuery)
Description copied from interface:DruidSqlOperatorConverter
Translate rexNode to valid Druid expression.- Specified by:
toDruidExpression
in interfaceDruidSqlOperatorConverter
- Parameters:
rexNode
- rexNode to translate to Druid expressionrowType
- row type associated with rexNodedruidQuery
- druid query used to figure out configs/fields related like timeZone- Returns:
- valid Druid expression or null if it can not convert the rexNode
-
-