org.eigenbase.sql.type
Class SameOperandTypeChecker
java.lang.Object
org.eigenbase.sql.type.SameOperandTypeChecker
- All Implemented Interfaces:
- SqlOperandTypeChecker
- Direct Known Subclasses:
- ComparableOperandTypeChecker
public class SameOperandTypeChecker
- extends Object
- implements SqlOperandTypeChecker
Parameter type-checking strategy where all operand types must be the same.
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/type/SameOperandTypeChecker.java#13 $
- Author:
- Wael Chatila
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
nOperands
protected final int nOperands
SameOperandTypeChecker
public SameOperandTypeChecker(int nOperands)
checkOperandTypes
public boolean checkOperandTypes(SqlCallBinding callBinding,
boolean throwOnFailure)
- Description copied from interface:
SqlOperandTypeChecker
- Checks the types of all operands to an operator call.
- Specified by:
checkOperandTypes
in interface SqlOperandTypeChecker
- 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
checkOperandTypesImpl
private boolean checkOperandTypesImpl(SqlOperatorBinding operatorBinding,
boolean throwOnFailure,
SqlCallBinding callBinding)
checkOperandTypes
public boolean checkOperandTypes(SqlOperatorBinding operatorBinding)
- Similar functionality to
checkOperandTypes(SqlCallBinding,
boolean)
, but not part of the interface, and cannot throw an error.
getOperandCountRange
public SqlOperandCountRange getOperandCountRange()
- Specified by:
getOperandCountRange
in interface SqlOperandTypeChecker
- Returns:
- range of operand counts allowed in a call
getAllowedSignatures
public String getAllowedSignatures(SqlOperator op,
String opName)
- 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 interface SqlOperandTypeChecker
- Parameters:
op
- the operator being checkedopName
- name to use for the operator in case of aliasing
- Returns:
- generated string