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 TypeMethodDescriptionintReturns the number of bound operands.getOperandType(int ordinal) Gets the type of a bound operand.booleanisOperandNull(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, hasEmptyGroup, 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:SqlOperatorBindingReturns the number of bound operands. Includes pre-operands and regular operands.- Specified by:
getOperandCountin classSqlOperatorBinding
-
getOperandType
Description copied from class:SqlOperatorBindingGets the type of a bound operand.- Specified by:
getOperandTypein 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:SqlOperatorBindingWraps a validation error with context appropriate to this operator call.- Specified by:
newErrorin 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:SqlOperatorBindingDetermines whether a bound operand is NULL.This is only relevant for SQL validation.
- Overrides:
isOperandNullin 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
-