Package org.apache.calcite.sql.type
Class SetopOperandTypeChecker
- java.lang.Object
-
- org.apache.calcite.sql.type.SetopOperandTypeChecker
-
- All Implemented Interfaces:
SqlOperandTypeChecker
public class SetopOperandTypeChecker extends java.lang.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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.calcite.sql.type.SqlOperandTypeChecker
SqlOperandTypeChecker.Consistency
-
-
Constructor Summary
Constructors Constructor Description SetopOperandTypeChecker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
Checks the types of all operands to an operator call.java.lang.String
getAllowedSignatures(SqlOperator op, java.lang.String opName)
Returns a string describing the allowed formal signatures of a call, e.g.SqlOperandTypeChecker.Consistency
getConsistency()
Returns the strategy for making the arguments have consistency types.SqlOperandCountRange
getOperandCountRange()
boolean
isOptional(int i)
Returns whether thei
th operand is optional.
-
-
-
Method Detail
-
isOptional
public boolean isOptional(int i)
Description copied from interface:SqlOperandTypeChecker
Returns whether thei
th operand is optional.- Specified by:
isOptional
in interfaceSqlOperandTypeChecker
-
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 interfaceSqlOperandTypeChecker
- 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
-
getOperandCountRange
public SqlOperandCountRange getOperandCountRange()
- Specified by:
getOperandCountRange
in interfaceSqlOperandTypeChecker
- Returns:
- range of operand counts allowed in a call
-
getAllowedSignatures
public java.lang.String getAllowedSignatures(SqlOperator op, java.lang.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 interfaceSqlOperandTypeChecker
- Parameters:
op
- the operator being checkedopName
- name to use for the operator in case of aliasing- Returns:
- generated string
-
getConsistency
public SqlOperandTypeChecker.Consistency getConsistency()
Description copied from interface:SqlOperandTypeChecker
Returns the strategy for making the arguments have consistency types.- Specified by:
getConsistency
in interfaceSqlOperandTypeChecker
-
-