public class AssignableOperandTypeChecker extends java.lang.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<java.lang.String> |
paramNames |
private java.util.List<RelDataType> |
paramTypes |
Constructor and Description |
---|
AssignableOperandTypeChecker(java.util.List<RelDataType> paramTypes,
java.util.List<java.lang.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.
|
java.lang.String |
getAllowedSignatures(SqlOperator op,
java.lang.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
i th operand is optional. |
private final java.util.List<RelDataType> paramTypes
private final com.google.common.collect.ImmutableList<java.lang.String> paramNames
public AssignableOperandTypeChecker(java.util.List<RelDataType> paramTypes, java.util.List<java.lang.String> paramNames)
paramTypes
- parameter types for operands; index in this array
corresponds to operand numberparamNames
- parameter names, or nullpublic boolean isOptional(int i)
SqlOperandTypeChecker
i
th operand is optional.isOptional
in interface SqlOperandTypeChecker
public SqlOperandCountRange getOperandCountRange()
getOperandCountRange
in interface SqlOperandTypeChecker
public boolean checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
SqlOperandTypeChecker
checkOperandTypes
in interface SqlOperandTypeChecker
callBinding
- description of the call to be checkedthrowOnFailure
- whether to throw an exception if check fails
(otherwise returns false in that case)public java.lang.String getAllowedSignatures(SqlOperator op, java.lang.String opName)
SqlOperandTypeChecker
getAllowedSignatures
in interface SqlOperandTypeChecker
op
- the operator being checkedopName
- name to use for the operator in case of aliasingpublic SqlOperandTypeChecker.Consistency getConsistency()
SqlOperandTypeChecker
getConsistency
in interface SqlOperandTypeChecker
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.