org.eigenbase.sql.type
Class AssignableOperandTypeChecker
java.lang.Object
org.eigenbase.sql.type.AssignableOperandTypeChecker
- All Implemented Interfaces:
- SqlOperandTypeChecker
public class AssignableOperandTypeChecker
- extends Object
- implements SqlOperandTypeChecker
AssignableOperandTypeChecker implements SqlOperandTypeChecker
by
verifying that the type of each argument is assignable to a predefined set of
parameter types (under the SQL definition of "assignable").
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/type/AssignableOperandTypeChecker.java#7 $
- Author:
- John V. Sichi
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
paramTypes
private final RelDataType[] paramTypes
AssignableOperandTypeChecker
public AssignableOperandTypeChecker(RelDataType[] paramTypes)
- Instantiates this strategy with a specific set of parameter types.
- Parameters:
paramTypes
- parameter types for operands; index in this array
corresponds to operand number
getOperandCountRange
public SqlOperandCountRange getOperandCountRange()
- Specified by:
getOperandCountRange
in interface SqlOperandTypeChecker
- Returns:
- range of operand counts allowed in a call
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
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