Package org.apache.calcite.adapter.druid
Class DruidSqlCastConverter
- java.lang.Object
-
- org.apache.calcite.adapter.druid.DruidSqlCastConverter
-
- All Implemented Interfaces:
DruidSqlOperatorConverter
public class DruidSqlCastConverter extends java.lang.Object implements DruidSqlOperatorConverter
Druid cast converter operator used to translates calcite casts to Druid expression cast
-
-
Constructor Summary
Constructors Constructor Description DruidSqlCastConverter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlOperator
calciteOperator()
Returns the calcite SQL operator corresponding to Druid operator.private static java.lang.String
castCharToDateTime(java.util.TimeZone timeZone, java.lang.String operand, SqlTypeName toType, java.lang.String format)
private static java.lang.String
castDateTimeToChar(java.util.TimeZone timeZone, java.lang.String operand, SqlTypeName fromType)
static java.lang.String
dateTimeFormatString(SqlTypeName sqlTypeName)
java.lang.String
toDruidExpression(RexNode rexNode, RelDataType topRel, DruidQuery druidQuery)
Translate rexNode to valid Druid expression.
-
-
-
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
public java.lang.String toDruidExpression(RexNode rexNode, RelDataType topRel, 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 expressiontopRel
- 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
-
castCharToDateTime
private static java.lang.String castCharToDateTime(java.util.TimeZone timeZone, java.lang.String operand, SqlTypeName toType, java.lang.String format)
-
castDateTimeToChar
private static java.lang.String castDateTimeToChar(java.util.TimeZone timeZone, java.lang.String operand, SqlTypeName fromType)
-
dateTimeFormatString
public static java.lang.String dateTimeFormatString(SqlTypeName sqlTypeName)
-
-