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
ConstructorDescriptionExplicitOperatorBinding
(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, getPreOperandCount, getStringLiteralOperand, getTypeFactory, hasFilter, isOperandLiteral, isOperandTimeFrame, transform
-
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. Includes pre-operands and regular 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
-