org.eigenbase.sql.type
Class SetopOperandTypeChecker

java.lang.Object
  extended by org.eigenbase.sql.type.SetopOperandTypeChecker
All Implemented Interfaces:
SqlOperandTypeChecker

public class SetopOperandTypeChecker
extends Object
implements SqlOperandTypeChecker

Parameter type-checking strategy for a set operator (UNION, INTERSECT, EXCEPT).

Both arguments must be records with the same number of fields, and the fields must be union-compatible.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/sql/type/SetopOperandTypeChecker.java#11 $
Author:
Jack Frost

Constructor Summary
SetopOperandTypeChecker()
           
 
Method Summary
 boolean checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
          Checks the types of all operands to an operator call.
 String getAllowedSignatures(SqlOperator op, String opName)
          Returns a string describing the allowed formal signatures of a call, e.g.
 SqlOperandCountRange getOperandCountRange()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SetopOperandTypeChecker

public SetopOperandTypeChecker()
Method Detail

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 checked
throwOnFailure - whether to throw an exception if check fails (otherwise returns false in that case)
Returns:
whether check succeeded

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 checked
opName - name to use for the operator in case of aliasing
Returns:
generated string