Package org.apache.calcite.sql.type
Class AssignableOperandTypeChecker
java.lang.Object
org.apache.calcite.sql.type.AssignableOperandTypeChecker
- All Implemented Interfaces:
SqlOperandTypeChecker
AssignableOperandTypeChecker implements
SqlOperandTypeChecker by
verifying that the type of each argument is assignable to a predefined set of
parameter types (under the SQL definition of "assignable").-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.sql.type.SqlOperandTypeChecker
SqlOperandTypeChecker.Consistency -
Constructor Summary
ConstructorsConstructorDescriptionAssignableOperandTypeChecker(List<RelDataType> paramTypes, @Nullable List<String> paramNames) Instantiates this strategy with a specific set of parameter types. -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure) Checks the types of all operands to an operator call.getAllowedSignatures(SqlOperator op, String opName) Returns a string describing the allowed formal signatures of a call, e.g.Returns the range of operand counts allowed in a call.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.calcite.sql.type.SqlOperandTypeChecker
and, getConsistency, isFixedParameters, isOptional, or, typeInference, withGenerator
-
Constructor Details
-
AssignableOperandTypeChecker
public AssignableOperandTypeChecker(List<RelDataType> paramTypes, @Nullable List<String> paramNames) Instantiates this strategy with a specific set of parameter types.- Parameters:
paramTypes- parameter types for operands; index in this array corresponds to operand numberparamNames- parameter names, or null
-
-
Method Details
-
getOperandCountRange
Description copied from interface:SqlOperandTypeCheckerReturns the range of operand counts allowed in a call.- Specified by:
getOperandCountRangein interfaceSqlOperandTypeChecker
-
checkOperandTypes
Description copied from interface:SqlOperandTypeCheckerChecks the types of all operands to an operator call.- Specified by:
checkOperandTypesin interfaceSqlOperandTypeChecker- Parameters:
callBinding- description of the call to be checkedthrowOnFailure- whether to throw an exception if check fails (otherwise returns false in that case)- Returns:
- whether check succeeded
-
getAllowedSignatures
Description copied from interface:SqlOperandTypeCheckerReturns a string describing the allowed formal signatures of a call, e.g. "SUBSTR(VARCHAR, INTEGER, INTEGER)".- Specified by:
getAllowedSignaturesin interfaceSqlOperandTypeChecker- Parameters:
op- the operator being checkedopName- name to use for the operator in case of aliasing- Returns:
- generated string
-