Package org.apache.calcite.sql
Class ExplicitOperatorBinding
java.lang.Object
org.apache.calcite.sql.SqlOperatorBinding
org.apache.calcite.sql.ExplicitOperatorBinding
ExplicitOperatorBinding
implements SqlOperatorBinding
via an underlying array of known operand types.-
Field Summary
Fields inherited from class org.apache.calcite.sql.SqlOperatorBinding
typeFactory
-
Constructor Summary
ConstructorsConstructorDescriptionExplicitOperatorBinding
(RelDataTypeFactory typeFactory, SqlOperator operator, List<RelDataType> types) ExplicitOperatorBinding
(SqlOperatorBinding delegate, List<RelDataType> types) -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the number of bound operands.getOperandType
(int ordinal) Gets the type of a bound operand.boolean
isOperandNull
(int ordinal, boolean allowCast) Determines whether a bound operand is NULL.newError
(org.apache.calcite.runtime.Resources.ExInst<SqlValidatorException> e) Wraps a validation error with context appropriate to this operator call.Methods inherited from class org.apache.calcite.sql.SqlOperatorBinding
collectOperandTypes, getCollationType, getColumnListParamInfo, getCursorOperand, getGroupCount, getIntLiteralOperand, getOperandLiteralValue, getOperandLiteralValue, getOperandLiteralValue, getOperandMonotonicity, getOperator, getStringLiteralOperand, getTypeFactory, hasFilter, isOperandLiteral, isOperandTimeFrame
-
Constructor Details
-
ExplicitOperatorBinding
-
ExplicitOperatorBinding
public ExplicitOperatorBinding(RelDataTypeFactory typeFactory, SqlOperator operator, List<RelDataType> types)
-
-
Method Details
-
getOperandCount
public int getOperandCount()Description copied from class:SqlOperatorBinding
Returns the number of bound operands.- Specified by:
getOperandCount
in classSqlOperatorBinding
-
getOperandType
Description copied from class:SqlOperatorBinding
Gets the type of a bound operand.- Specified by:
getOperandType
in classSqlOperatorBinding
- Parameters:
ordinal
- zero-based ordinal of operand of interest- Returns:
- bound operand type
-
newError
public CalciteException newError(org.apache.calcite.runtime.Resources.ExInst<SqlValidatorException> e) Description copied from class:SqlOperatorBinding
Wraps a validation error with context appropriate to this operator call.- Specified by:
newError
in classSqlOperatorBinding
- Parameters:
e
- Validation error, not null- Returns:
- Error wrapped, if possible, with positional information
-
isOperandNull
public boolean isOperandNull(int ordinal, boolean allowCast) Description copied from class:SqlOperatorBinding
Determines whether a bound operand is NULL.This is only relevant for SQL validation.
- Overrides:
isOperandNull
in classSqlOperatorBinding
- Parameters:
ordinal
- zero-based ordinal of operand of interestallowCast
- whether to regard CAST(constant) as a constant- Returns:
- whether operand is null; false for everything except SQL validation
-