public class SqlDotOperator
extends org.apache.calcite.sql.SqlSpecialOperator
.
, used to access a field of a record. For example, a.b
.
This class was copied over from Calcite to fix the derived type. If the ROW is nullable force the accessed field to be nullable as well.
Modifier and Type | Method and Description |
---|---|
<R> void |
acceptCall(org.apache.calcite.sql.util.SqlVisitor<R> visitor,
org.apache.calcite.sql.SqlCall call,
boolean onlyExpressions,
org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler<R> argHandler) |
boolean |
checkOperandTypes(org.apache.calcite.sql.SqlCallBinding callBinding,
boolean throwOnFailure) |
org.apache.calcite.rel.type.RelDataType |
deriveType(org.apache.calcite.sql.validate.SqlValidator validator,
org.apache.calcite.sql.validate.SqlValidatorScope scope,
org.apache.calcite.sql.SqlCall call) |
String |
getAllowedSignatures(String name) |
org.apache.calcite.sql.SqlOperandCountRange |
getOperandCountRange() |
org.apache.calcite.rel.type.RelDataType |
inferReturnType(org.apache.calcite.sql.SqlOperatorBinding opBinding) |
org.apache.calcite.sql.SqlSpecialOperator.ReduceResult |
reduceExpr(int ordinal,
org.apache.calcite.sql.SqlSpecialOperator.TokenSequence list) |
void |
unparse(org.apache.calcite.sql.SqlWriter writer,
org.apache.calcite.sql.SqlCall call,
int leftPrec,
int rightPrec) |
void |
validateCall(org.apache.calcite.sql.SqlCall call,
org.apache.calcite.sql.validate.SqlValidator validator,
org.apache.calcite.sql.validate.SqlValidatorScope scope,
org.apache.calcite.sql.validate.SqlValidatorScope operandScope) |
boolean |
validRexOperands(int count,
org.apache.calcite.util.Litmus litmus) |
acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, equals, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getNameAsId, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands
public org.apache.calcite.sql.SqlSpecialOperator.ReduceResult reduceExpr(int ordinal, org.apache.calcite.sql.SqlSpecialOperator.TokenSequence list)
reduceExpr
in class org.apache.calcite.sql.SqlSpecialOperator
public void unparse(org.apache.calcite.sql.SqlWriter writer, org.apache.calcite.sql.SqlCall call, int leftPrec, int rightPrec)
unparse
in class org.apache.calcite.sql.SqlOperator
public org.apache.calcite.sql.SqlOperandCountRange getOperandCountRange()
getOperandCountRange
in class org.apache.calcite.sql.SqlOperator
public <R> void acceptCall(org.apache.calcite.sql.util.SqlVisitor<R> visitor, org.apache.calcite.sql.SqlCall call, boolean onlyExpressions, org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler<R> argHandler)
acceptCall
in class org.apache.calcite.sql.SqlOperator
public org.apache.calcite.rel.type.RelDataType deriveType(org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.sql.validate.SqlValidatorScope scope, org.apache.calcite.sql.SqlCall call)
deriveType
in class org.apache.calcite.sql.SqlOperator
public void validateCall(org.apache.calcite.sql.SqlCall call, org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.sql.validate.SqlValidatorScope scope, org.apache.calcite.sql.validate.SqlValidatorScope operandScope)
validateCall
in class org.apache.calcite.sql.SqlOperator
public boolean checkOperandTypes(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure)
checkOperandTypes
in class org.apache.calcite.sql.SqlOperator
public boolean validRexOperands(int count, org.apache.calcite.util.Litmus litmus)
validRexOperands
in class org.apache.calcite.sql.SqlOperator
public String getAllowedSignatures(String name)
getAllowedSignatures
in class org.apache.calcite.sql.SqlOperator
public org.apache.calcite.rel.type.RelDataType inferReturnType(org.apache.calcite.sql.SqlOperatorBinding opBinding)
inferReturnType
in class org.apache.calcite.sql.SqlOperator
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.