Class TypeInferenceOperandChecker

java.lang.Object
org.apache.flink.table.planner.functions.inference.TypeInferenceOperandChecker
All Implemented Interfaces:
org.apache.calcite.sql.type.SqlOperandMetadata, org.apache.calcite.sql.type.SqlOperandTypeChecker

@Internal public final class TypeInferenceOperandChecker extends Object implements org.apache.calcite.sql.type.SqlOperandTypeChecker, org.apache.calcite.sql.type.SqlOperandMetadata
A SqlOperandTypeChecker backed by TypeInference.

Note: This class must be kept in sync with TypeInferenceUtil.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.calcite.sql.type.SqlOperandTypeChecker

    org.apache.calcite.sql.type.SqlOperandTypeChecker.Consistency
  • Constructor Summary

    Constructors
    Constructor
    Description
    TypeInferenceOperandChecker(org.apache.flink.table.catalog.DataTypeFactory dataTypeFactory, org.apache.flink.table.functions.FunctionDefinition definition, org.apache.flink.table.types.inference.TypeInference typeInference)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    checkOperandTypes(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure)
     
    getAllowedSignatures(org.apache.calcite.sql.SqlOperator op, String opName)
     
    org.apache.calcite.sql.type.SqlOperandTypeChecker.Consistency
     
    org.apache.calcite.sql.SqlOperandCountRange
     
    boolean
     
    boolean
    isOptional(int i)
     
     
    List<org.apache.calcite.rel.type.RelDataType>
    paramTypes(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.calcite.sql.type.SqlOperandTypeChecker

    and, or, typeInference, withGenerator
  • Constructor Details

    • TypeInferenceOperandChecker

      public TypeInferenceOperandChecker(org.apache.flink.table.catalog.DataTypeFactory dataTypeFactory, org.apache.flink.table.functions.FunctionDefinition definition, org.apache.flink.table.types.inference.TypeInference typeInference)
  • Method Details

    • checkOperandTypes

      public boolean checkOperandTypes(org.apache.calcite.sql.SqlCallBinding callBinding, boolean throwOnFailure)
      Specified by:
      checkOperandTypes in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • getOperandCountRange

      public org.apache.calcite.sql.SqlOperandCountRange getOperandCountRange()
      Specified by:
      getOperandCountRange in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • getAllowedSignatures

      public String getAllowedSignatures(org.apache.calcite.sql.SqlOperator op, String opName)
      Specified by:
      getAllowedSignatures in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • getConsistency

      public org.apache.calcite.sql.type.SqlOperandTypeChecker.Consistency getConsistency()
      Specified by:
      getConsistency in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • isOptional

      public boolean isOptional(int i)
      Specified by:
      isOptional in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • isFixedParameters

      public boolean isFixedParameters()
      Specified by:
      isFixedParameters in interface org.apache.calcite.sql.type.SqlOperandTypeChecker
    • paramTypes

      public List<org.apache.calcite.rel.type.RelDataType> paramTypes(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory)
      Specified by:
      paramTypes in interface org.apache.calcite.sql.type.SqlOperandMetadata
    • paramNames

      public List<String> paramNames()
      Specified by:
      paramNames in interface org.apache.calcite.sql.type.SqlOperandMetadata