Class DrillCalciteSqlOperatorWrapper
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.drill.exec.planner.sql.DrillCalciteSqlOperatorWrapper
- All Implemented Interfaces:
DrillCalciteSqlWrapper
public class DrillCalciteSqlOperatorWrapper
extends org.apache.calcite.sql.SqlOperator
implements DrillCalciteSqlWrapper
This class serves as a wrapper class for SqlOperator. The motivation is to plug-in the return type inference and operand
type check algorithms of Drill into Calcite's sql validation procedure.
Except for the methods which are relevant to the return type inference and operand type check algorithms, the wrapper
simply forwards the method calls to the wrapped SqlOperator.
-
Field Summary
Fields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL
-
Constructor Summary
ConstructorDescriptionDrillCalciteSqlOperatorWrapper
(org.apache.calcite.sql.SqlOperator operator, String rename, List<DrillFuncHolder> functions) -
Method Summary
Modifier and TypeMethodDescriptionboolean
argumentMustBeScalar
(int ordinal) boolean
checkOperandTypes
(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure) org.apache.calcite.sql.SqlCall
createCall
(org.apache.calcite.sql.SqlLiteral functionQualifier, org.apache.calcite.sql.parser.SqlParserPos pos, org.apache.calcite.sql.SqlNode... operands) getAllowedSignatures
(String opNameToUse) org.apache.calcite.sql.validate.SqlMonotonicity
getMonotonicity
(org.apache.calcite.sql.SqlOperatorBinding call) org.apache.calcite.sql.SqlOperator
Get the wrappedSqlOperator
getSignatureTemplate
(int operandsCount) org.apache.calcite.sql.SqlSyntax
org.apache.calcite.rel.type.RelDataType
inferReturnType
(org.apache.calcite.sql.SqlOperatorBinding opBinding) boolean
boolean
org.apache.calcite.sql.SqlOperator
reverse()
org.apache.calcite.sql.SqlNode
rewriteCall
(org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.sql.SqlCall call) toString()
void
unparse
(org.apache.calcite.sql.SqlWriter writer, org.apache.calcite.sql.SqlCall call, int leftPrec, int rightPrec) boolean
validRexOperands
(int count, org.apache.calcite.util.Litmus litmus) Methods inherited from class org.apache.calcite.sql.SqlOperator
acceptCall, acceptCall, adjustType, allowsFraming, checkOperandCount, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, deriveType, equals, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getNameAsId, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getStrongPolicyInference, hashCode, inferReturnType, isAggregator, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresOrder, requiresOver, rightPrec, unparseListClause, unparseListClause, validateCall, validateOperands
-
Field Details
-
operator
public final org.apache.calcite.sql.SqlOperator operator
-
-
Constructor Details
-
DrillCalciteSqlOperatorWrapper
public DrillCalciteSqlOperatorWrapper(org.apache.calcite.sql.SqlOperator operator, String rename, List<DrillFuncHolder> functions)
-
-
Method Details
-
getOperator
public org.apache.calcite.sql.SqlOperator getOperator()Description copied from interface:DrillCalciteSqlWrapper
Get the wrappedSqlOperator
- Specified by:
getOperator
in interfaceDrillCalciteSqlWrapper
- Returns:
- SqlOperator get the wrapped
SqlOperator
-
getSyntax
public org.apache.calcite.sql.SqlSyntax getSyntax()- Specified by:
getSyntax
in classorg.apache.calcite.sql.SqlOperator
-
createCall
public org.apache.calcite.sql.SqlCall createCall(org.apache.calcite.sql.SqlLiteral functionQualifier, org.apache.calcite.sql.parser.SqlParserPos pos, org.apache.calcite.sql.SqlNode... operands) - Overrides:
createCall
in classorg.apache.calcite.sql.SqlOperator
-
rewriteCall
public org.apache.calcite.sql.SqlNode rewriteCall(org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.sql.SqlCall call) - Overrides:
rewriteCall
in classorg.apache.calcite.sql.SqlOperator
-
checkOperandTypes
public boolean checkOperandTypes(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure) - Overrides:
checkOperandTypes
in classorg.apache.calcite.sql.SqlOperator
-
validRexOperands
public boolean validRexOperands(int count, org.apache.calcite.util.Litmus litmus) - Overrides:
validRexOperands
in classorg.apache.calcite.sql.SqlOperator
-
getSignatureTemplate
- Overrides:
getSignatureTemplate
in classorg.apache.calcite.sql.SqlOperator
-
getAllowedSignatures
- Overrides:
getAllowedSignatures
in classorg.apache.calcite.sql.SqlOperator
-
getMonotonicity
public org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding call) - Overrides:
getMonotonicity
in classorg.apache.calcite.sql.SqlOperator
-
isDeterministic
public boolean isDeterministic()- Overrides:
isDeterministic
in classorg.apache.calcite.sql.SqlOperator
-
requiresDecimalExpansion
public boolean requiresDecimalExpansion()- Overrides:
requiresDecimalExpansion
in classorg.apache.calcite.sql.SqlOperator
-
argumentMustBeScalar
public boolean argumentMustBeScalar(int ordinal) - Overrides:
argumentMustBeScalar
in classorg.apache.calcite.sql.SqlOperator
-
toString
- Overrides:
toString
in classorg.apache.calcite.sql.SqlOperator
-
unparse
public void unparse(org.apache.calcite.sql.SqlWriter writer, org.apache.calcite.sql.SqlCall call, int leftPrec, int rightPrec) - Overrides:
unparse
in classorg.apache.calcite.sql.SqlOperator
-
inferReturnType
public org.apache.calcite.rel.type.RelDataType inferReturnType(org.apache.calcite.sql.SqlOperatorBinding opBinding) - Overrides:
inferReturnType
in classorg.apache.calcite.sql.SqlOperator
-
reverse
public org.apache.calcite.sql.SqlOperator reverse()- Overrides:
reverse
in classorg.apache.calcite.sql.SqlOperator
-