Class DirectOperatorConversion
java.lang.Object
org.apache.druid.sql.calcite.expression.DirectOperatorConversion
- All Implemented Interfaces:
SqlOperatorConversion
- Direct Known Subclasses:
ArrayAppendOperatorConversion,ArrayConcatOperatorConversion,ArrayConstructorOperatorConversion,ArrayLengthOperatorConversion,ArrayOffsetOfOperatorConversion,ArrayOffsetOperatorConversion,ArrayOrdinalOfOperatorConversion,ArrayOrdinalOperatorConversion,ArrayPrependOperatorConversion,ArrayQuantileOperatorConversion,ArraySliceOperatorConversion,ArrayToMultiValueStringOperatorConversion,ArrayToStringOperatorConversion,BaseExpressionDimFilterOperatorConversion,ConcatOperatorConversion,ContainsOperatorConversion,DecodeBase64UTFOperatorConversion,DivOperatorConversion,GreatestOperatorConversion,IPv4AddressMatchOperatorConversion,IPv4AddressParseOperatorConversion,IPv4AddressStringifyOperatorConversion,IPv6AddressMatchOperatorConversion,LeastOperatorConversion,LikeOperatorConversion,MultiValueStringToArrayOperatorConversion,NestedDataOperatorConversions.JsonQueryArrayOperatorConversion,ReverseOperatorConversion,SafeDivideOperatorConversion,ScalarInArrayOperatorConversion,StringToArrayOperatorConversion,TextcatOperatorConversion
Conversion for SQL operators that map 1-1 onto native functions.
-
Constructor Summary
ConstructorsConstructorDescriptionDirectOperatorConversion(org.apache.calcite.sql.SqlOperator operator, String druidFunctionName) -
Method Summary
Modifier and TypeMethodDescriptionfinal org.apache.calcite.sql.SqlOperatorReturns the SQL operator corresponding to this function.final StringtoDruidExpression(PlannerContext plannerContext, RowSignature rowSignature, org.apache.calcite.rex.RexNode rexNode) Translate a CalciteRexNodeto a Druid expression.toDruidExpressionWithPostAggOperands(PlannerContext plannerContext, RowSignature rowSignature, org.apache.calcite.rex.RexNode rexNode, PostAggregatorVisitor postAggregatorVisitor) Translate a CalciteRexNodeto a Druid expression, with the possibility of having postagg operands.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.sql.calcite.expression.SqlOperatorConversion
toDruidFilter, toPostAggregator
-
Constructor Details
-
DirectOperatorConversion
public DirectOperatorConversion(org.apache.calcite.sql.SqlOperator operator, String druidFunctionName)
-
-
Method Details
-
calciteOperator
public final org.apache.calcite.sql.SqlOperator calciteOperator()Description copied from interface:SqlOperatorConversionReturns the SQL operator corresponding to this function. Should be a singleton.- Specified by:
calciteOperatorin interfaceSqlOperatorConversion- Returns:
- operator
-
getDruidFunctionName
-
toDruidExpression
public DruidExpression toDruidExpression(PlannerContext plannerContext, RowSignature rowSignature, org.apache.calcite.rex.RexNode rexNode) Description copied from interface:SqlOperatorConversionTranslate a CalciteRexNodeto a Druid expression.- Specified by:
toDruidExpressionin interfaceSqlOperatorConversion- Parameters:
plannerContext- SQL planner contextrowSignature- signature of the rows to be extracted fromrexNode- expression meant to be applied on top of the rows- Returns:
- Druid expression, or null if translation is not possible
- See Also:
-
toDruidExpressionWithPostAggOperands
@Nullable public DruidExpression toDruidExpressionWithPostAggOperands(PlannerContext plannerContext, RowSignature rowSignature, org.apache.calcite.rex.RexNode rexNode, PostAggregatorVisitor postAggregatorVisitor) Description copied from interface:SqlOperatorConversionTranslate a CalciteRexNodeto a Druid expression, with the possibility of having postagg operands.- Specified by:
toDruidExpressionWithPostAggOperandsin interfaceSqlOperatorConversion- Parameters:
plannerContext- SQL planner contextrowSignature- signature of the rows to be extracted fromrexNode- expression meant to be applied on top of the rowspostAggregatorVisitor- visitor that manages postagg names and tracks postaggs that were created as by the translation- Returns:
- Druid expression, or null if translation is not possible
- See Also:
-