public interface SqlSingleOperandTypeChecker extends SqlOperandTypeChecker
SqlOperandTypeChecker
for implementations which are capable of checking the type of a single
operand in isolation. This isn't meaningful for all type-checking rules (e.g.
SameOperandTypeChecker requires two operands to have matching types, so
checking one in isolation is meaningless).SqlOperandTypeChecker.Consistency
Modifier and Type | Method and Description |
---|---|
boolean |
checkSingleOperandType(SqlCallBinding callBinding,
SqlNode operand,
int iFormalOperand,
boolean throwOnFailure)
Checks the type of a single operand against a particular ordinal position
within a formal operator signature.
|
checkOperandTypes, getAllowedSignatures, getConsistency, getOperandCountRange, isOptional
boolean checkSingleOperandType(SqlCallBinding callBinding, SqlNode operand, int iFormalOperand, boolean throwOnFailure)
For example, when validating the actual call
C(X, Y, Z)
the strategy for validating the operand Z might involve checking its
type against the formal signature OP(W). In this case,
iFormalOperand
would be zero, even though the position of Z
within call C is two.
callBinding
- description of the call being checked; this is only
provided for context when throwing an exception; the
implementation should NOT examine the
operands of the call as part of the checkoperand
- the actual operand to be checkediFormalOperand
- the 0-based formal operand ordinalthrowOnFailure
- whether to throw an exception if check fails
(otherwise returns false in that case)Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.