Class DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper

java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.calcite.sql.SqlAggFunction
org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction
org.apache.drill.exec.planner.sql.DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper
All Implemented Interfaces:
org.apache.calcite.plan.Context, org.apache.calcite.schema.Wrapper, DrillCalciteSqlWrapper

public class DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper extends org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction implements DrillCalciteSqlWrapper
This class serves as a wrapper class for SqlSumEmptyIsZeroAggFunction with the same goal as DrillCalciteSqlAggFunctionWrapper but extends SqlSumEmptyIsZeroAggFunction to allow using additional Calcite functionality designated for SqlSumEmptyIsZeroAggFunction.
  • Field Summary

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

    kind, MDX_PRECEDENCE, NL
  • Constructor Summary

    Constructors
    Constructor
    Description
    DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper(org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction sqlAggFunction, List<DrillFuncHolder> functions)
     
    DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper(org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction sqlAggFunction, org.apache.calcite.rel.type.RelDataType relDataType)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    boolean
    argumentMustBeScalar(int ordinal)
     
    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.validate.SqlMonotonicity
    getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding call)
     
    org.apache.calcite.sql.SqlOperator
    Get the wrapped SqlOperator
     
    org.apache.calcite.sql.type.SqlReturnTypeInference
     
    getSignatureTemplate(int operandsCount)
     
    org.apache.calcite.sql.SqlSyntax
     
    org.apache.calcite.rel.type.RelDataType
    inferReturnType(org.apache.calcite.sql.SqlOperatorBinding opBinding)
     
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    boolean
    validRexOperands(int count, org.apache.calcite.util.Litmus litmus)
     

    Methods inherited from class org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction

    getParameterTypes, getReturnType, getRollup, unwrap

    Methods inherited from class org.apache.calcite.sql.SqlAggFunction

    allowsFilter, allowsNullTreatment, getDistinctOptionality, isPercentile, isQuantifierAllowed, requiresGroupOrder, requiresOrder, requiresOver, validateCall

    Methods inherited from class org.apache.calcite.sql.SqlFunction

    getFunctionType, getNameAsId, getParamTypes, getSqlIdentifier, unparse, validateQuantifier

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

    acceptCall, acceptCall, adjustType, checkOperandCount, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, equals, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getRightPrec, getStrongPolicyInference, hashCode, inferReturnType, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.calcite.schema.Wrapper

    maybeUnwrap, unwrapOrThrow
  • Constructor Details

    • DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper

      public DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper(org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction sqlAggFunction, List<DrillFuncHolder> functions)
    • DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper

      public DrillCalciteSqlSumEmptyIsZeroAggFunctionWrapper(org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction sqlAggFunction, org.apache.calcite.rel.type.RelDataType relDataType)
  • Method Details

    • getOperator

      public org.apache.calcite.sql.SqlOperator getOperator()
      Description copied from interface: DrillCalciteSqlWrapper
      Get the wrapped SqlOperator
      Specified by:
      getOperator in interface DrillCalciteSqlWrapper
      Returns:
      SqlOperator get the wrapped SqlOperator
    • getReturnTypeInference

      public org.apache.calcite.sql.type.SqlReturnTypeInference getReturnTypeInference()
      Overrides:
      getReturnTypeInference 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
    • validRexOperands

      public boolean validRexOperands(int count, org.apache.calcite.util.Litmus litmus)
      Overrides:
      validRexOperands in class org.apache.calcite.sql.SqlOperator
    • getAllowedSignatures

      public String getAllowedSignatures(String opNameToUse)
      Overrides:
      getAllowedSignatures in class org.apache.calcite.sql.SqlOperator
    • isAggregator

      public boolean isAggregator()
      Overrides:
      isAggregator in class org.apache.calcite.sql.SqlAggFunction
    • allowsFraming

      public boolean allowsFraming()
      Overrides:
      allowsFraming in class org.apache.calcite.sql.SqlOperator
    • getMonotonicity

      public org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding call)
      Overrides:
      getMonotonicity in class org.apache.calcite.sql.SqlOperator
    • isDeterministic

      public boolean isDeterministic()
      Overrides:
      isDeterministic in class org.apache.calcite.sql.SqlOperator
    • isDynamicFunction

      public boolean isDynamicFunction()
      Overrides:
      isDynamicFunction in class org.apache.calcite.sql.SqlOperator
    • requiresDecimalExpansion

      public boolean requiresDecimalExpansion()
      Overrides:
      requiresDecimalExpansion in class org.apache.calcite.sql.SqlOperator
    • argumentMustBeScalar

      public boolean argumentMustBeScalar(int ordinal)
      Overrides:
      argumentMustBeScalar 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
    • getSyntax

      public org.apache.calcite.sql.SqlSyntax getSyntax()
      Overrides:
      getSyntax in class org.apache.calcite.sql.SqlFunction
    • getParamNames

      public List<String> getParamNames()
      Overrides:
      getParamNames in class org.apache.calcite.sql.SqlFunction
    • getSignatureTemplate

      public String getSignatureTemplate(int operandsCount)
      Overrides:
      getSignatureTemplate in class org.apache.calcite.sql.SqlOperator
    • 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.SqlFunction