Class SqlDescriptorOperator

java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.flink.table.planner.functions.sql.SqlDescriptorOperator

public class SqlDescriptorOperator extends org.apache.calcite.sql.SqlOperator
DESCRIPTOR appears as an argument in a function. DESCRIPTOR accepts a list of identifiers that represent a list of names. The interpretation of names is left to the function.

A typical syntax is DESCRIPTOR(col_name, ...).

An example is a table-valued function that takes names of columns to filter on.

Note: we copied the implementation from Calcite's SqlDescriptorOperator, but support forwarding column name information and data types if available. This is important because we will generate an additional window_time time attribute column which should keep the same type with original time attribute.

  • Field Summary

    Fields inherited from class org.apache.calcite.sql.SqlOperator

    kind, MDX_PRECEDENCE, NL
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    org.apache.calcite.sql.SqlOperandCountRange
     
    org.apache.calcite.sql.SqlSyntax
     

    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, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getNameAsId, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparse, unparseListClause, unparseListClause, validateCall, validateOperands, validRexOperands

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SqlDescriptorOperator

      public SqlDescriptorOperator()
  • Method Details

    • deriveType

      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)
      Overrides:
      deriveType 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
    • getOperandCountRange

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

      public org.apache.calcite.sql.SqlSyntax getSyntax()
      Specified by:
      getSyntax in class org.apache.calcite.sql.SqlOperator