public interface SqlSingleOperandTypeChecker extends SqlOperandTypeChecker
SqlOperandTypeCheckerfor 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).
|Modifier and Type||Method||Description|
Checks the type of a single operand against a particular ordinal position within a formal operator signature.
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 check
operand- the actual operand to be checked
iFormalOperand- the 0-based formal operand ordinal
throwOnFailure- whether to throw an exception if check fails (otherwise returns false in that case)
Copyright © 2012–2017 The Apache Software Foundation. All rights reserved.