public class AssignableOperandTypeChecker extends Object implements SqlOperandTypeChecker
SqlOperandTypeChecker by
verifying that the type of each argument is assignable to a predefined set of
parameter types (under the SQL definition of "assignable").SqlOperandTypeChecker.Consistency| Modifier and Type | Field and Description |
|---|---|
private com.google.common.collect.ImmutableList<String> |
paramNames |
private List<RelDataType> |
paramTypes |
| Constructor and Description |
|---|
AssignableOperandTypeChecker(List<RelDataType> paramTypes,
List<String> paramNames)
Instantiates this strategy with a specific set of parameter types.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkOperandTypes(SqlCallBinding callBinding,
boolean throwOnFailure)
Checks the types of all operands to an operator call.
|
String |
getAllowedSignatures(SqlOperator op,
String opName)
Returns a string describing the allowed formal signatures of a call, e.g.
|
SqlOperandTypeChecker.Consistency |
getConsistency()
Returns the strategy for making the arguments have consistency types.
|
SqlOperandCountRange |
getOperandCountRange() |
boolean |
isOptional(int i)
Returns whether the
ith operand is optional. |
private final List<RelDataType> paramTypes
private final com.google.common.collect.ImmutableList<String> paramNames
public AssignableOperandTypeChecker(List<RelDataType> paramTypes, List<String> paramNames)
paramTypes - parameter types for operands; index in this array
corresponds to operand numberparamNames - parameter names, or nullpublic boolean isOptional(int i)
SqlOperandTypeCheckerith operand is optional.isOptional in interface SqlOperandTypeCheckerpublic SqlOperandCountRange getOperandCountRange()
getOperandCountRange in interface SqlOperandTypeCheckerpublic boolean checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
SqlOperandTypeCheckercheckOperandTypes in interface SqlOperandTypeCheckercallBinding - description of the call to be checkedthrowOnFailure - whether to throw an exception if check fails
(otherwise returns false in that case)public String getAllowedSignatures(SqlOperator op, String opName)
SqlOperandTypeCheckergetAllowedSignatures in interface SqlOperandTypeCheckerop - the operator being checkedopName - name to use for the operator in case of aliasingpublic SqlOperandTypeChecker.Consistency getConsistency()
SqlOperandTypeCheckergetConsistency in interface SqlOperandTypeCheckerCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.