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
ConstructorDescriptionAssignableOperandTypeChecker
(List<RelDataType> paramTypes, @Nullable List<String> paramNames) Instantiates this strategy with a specific set of parameter types. -
Method Summary
Modifier and TypeMethodDescriptionboolean
checkOperandTypes
(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, wait
Methods 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:SqlOperandTypeChecker
Returns the range of operand counts allowed in a call.- Specified by:
getOperandCountRange
in interfaceSqlOperandTypeChecker
-
checkOperandTypes
Description copied from interface:SqlOperandTypeChecker
Checks the types of all operands to an operator call.- Specified by:
checkOperandTypes
in 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:SqlOperandTypeChecker
Returns a string describing the allowed formal signatures of a call, e.g. "SUBSTR(VARCHAR, INTEGER, INTEGER)".- Specified by:
getAllowedSignatures
in interfaceSqlOperandTypeChecker
- Parameters:
op
- the operator being checkedopName
- name to use for the operator in case of aliasing- Returns:
- generated string
-