Class SqlItemOperator


  • public class SqlItemOperator
    extends org.apache.calcite.sql.SqlSpecialOperator
    The item operator [ ... ], used to access a given element of an array, map or struct. For example, myArray[3], "myMap['foo']", myStruct[2] or myStruct['fieldName'].

    This class was copied over from Calcite 1.39.0 version to support access variant (FLINK-37924).

    Line 148 ~ 153, CALCITE-7325, should be removed after upgrading Calcite to 1.42.0.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.calcite.sql.SqlSpecialOperator

        org.apache.calcite.sql.SqlSpecialOperator.ReduceResult, org.apache.calcite.sql.SqlSpecialOperator.TokenSequence
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int offset  
      boolean safe  
      • Fields inherited from class org.apache.calcite.sql.SqlOperator

        kind, MDX_PRECEDENCE, NL
    • Constructor Summary

      Constructors 
      Constructor Description
      SqlItemOperator​(String name, org.apache.calcite.sql.type.SqlSingleOperandTypeChecker operandTypeChecker, int offset, boolean safe)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean checkOperandTypes​(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure)  
      String getAllowedSignatures​(String name)  
      org.apache.calcite.sql.SqlOperandCountRange getOperandCountRange()  
      org.apache.calcite.sql.type.SqlSingleOperandTypeChecker getOperandTypeChecker()  
      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)  
      • Methods inherited from class org.apache.calcite.sql.SqlSpecialOperator

        getSyntax
      • Methods inherited from class org.apache.calcite.sql.SqlOperator

        acceptCall, acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, deriveType, equals, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getNameAsId, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateCall, validateOperands, validRexOperands
    • Field Detail

      • offset

        public final int offset
      • safe

        public final boolean safe
    • Constructor Detail

      • SqlItemOperator

        public SqlItemOperator​(String name,
                               org.apache.calcite.sql.type.SqlSingleOperandTypeChecker operandTypeChecker,
                               int offset,
                               boolean safe)
    • Method Detail

      • reduceExpr

        public org.apache.calcite.sql.SqlSpecialOperator.ReduceResult reduceExpr​(int ordinal,
                                                                                 org.apache.calcite.sql.SqlSpecialOperator.TokenSequence list)
        Overrides:
        reduceExpr in class org.apache.calcite.sql.SqlSpecialOperator
      • unparse

        public void unparse​(org.apache.calcite.sql.SqlWriter writer,
                            org.apache.calcite.sql.SqlCall call,
                            int leftPrec,
                            int rightPrec)
        Overrides:
        unparse in class org.apache.calcite.sql.SqlOperator
      • getOperandCountRange

        public org.apache.calcite.sql.SqlOperandCountRange getOperandCountRange()
        Overrides:
        getOperandCountRange in class org.apache.calcite.sql.SqlOperator
      • checkOperandTypes

        public boolean checkOperandTypes​(org.apache.calcite.sql.SqlCallBinding callBinding,
                                         boolean throwOnFailure)
        Overrides:
        checkOperandTypes in class org.apache.calcite.sql.SqlOperator
      • getOperandTypeChecker

        public org.apache.calcite.sql.type.SqlSingleOperandTypeChecker getOperandTypeChecker()
        Overrides:
        getOperandTypeChecker in class org.apache.calcite.sql.SqlOperator
      • getAllowedSignatures

        public String getAllowedSignatures​(String name)
        Overrides:
        getAllowedSignatures in class org.apache.calcite.sql.SqlOperator
      • inferReturnType

        public org.apache.calcite.rel.type.RelDataType inferReturnType​(org.apache.calcite.sql.SqlOperatorBinding opBinding)
        Overrides:
        inferReturnType in class org.apache.calcite.sql.SqlOperator