Interface DruidSqlOperatorConverter

All Known Implementing Classes:
BinaryOperatorConversion, CeilOperatorConversion, DirectOperatorConversion, DruidSqlCastConverter, ExtractOperatorConversion, FloorOperatorConversion, NaryOperatorConverter, SubstringOperatorConversion, UnaryPrefixOperatorConversion, UnarySuffixOperatorConversion

public interface DruidSqlOperatorConverter
Defines how to convert a RexNode with a given Calcite SQL operator to a Druid expression.
  • Method Details

    • calciteOperator

      SqlOperator calciteOperator()
      Returns the calcite SQL operator corresponding to Druid operator.
      Returns:
      operator
    • toDruidExpression

      @Nullable String toDruidExpression(RexNode rexNode, RelDataType rowType, DruidQuery druidQuery)
      Translate rexNode to valid Druid expression.
      Parameters:
      rexNode - rexNode to translate to Druid expression
      rowType - row type associated with rexNode
      druidQuery - druid query used to figure out configs/fields related like timeZone
      Returns:
      valid Druid expression or null if it can not convert the rexNode