Package org.apache.calcite.sql.fun
Class SqlMinMaxAggFunction
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.calcite.sql.SqlAggFunction
org.apache.calcite.sql.fun.SqlMinMaxAggFunction
Definition of the
MIN and MAX aggregate functions,
returning the returns the smallest/largest of the values which go into it.
There are 3 forms:
- min/max(primitive type)
- values are compared using '<'
- min/max(
Comparable) - values are compared using
Comparable.compareTo(T) - min/max(
Comparator,Object) - the
Comparator.compare(T, T)method of the comparator is used to compare pairs of objects. The comparator is a startup argument, and must therefore be constant for the duration of the aggregation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal List<RelDataType>Deprecated.static final intstatic final intstatic final intstatic final intFields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL -
Constructor Summary
ConstructorsConstructorDescriptionSqlMinMaxAggFunction(String funcName, SqlKind kind, SqlOperandTypeChecker inputTypeChecker) Creates a SqlMinMaxAggFunction.SqlMinMaxAggFunction(List<RelDataType> argTypes, boolean isMin, int minMaxKind) Deprecated.SqlMinMaxAggFunction(SqlKind kind) Creates a SqlMinMaxAggFunction. -
Method Summary
Modifier and TypeMethodDescriptionReturns whether this aggregate function allows theDISTINCTkeyword.intDeprecated.getParameterTypes(RelDataTypeFactory typeFactory) getReturnType(RelDataTypeFactory typeFactory) Gets rollup aggregation function.booleanisMin()Deprecated.<T> @Nullable TFinds an instance of an interface implemented by this object, or returns null if this object does not support that interface.Methods inherited from class org.apache.calcite.sql.SqlAggFunction
allowsFilter, allowsNullTreatment, isAggregator, isPercentile, isQuantifierAllowed, requiresGroupOrder, requiresOrder, requiresOver, validateCallMethods inherited from class org.apache.calcite.sql.SqlFunction
deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, getSyntax, unparse, validateQuantifierMethods inherited from class org.apache.calcite.sql.SqlOperator
acceptCall, acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getSqlCallFactory, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperandsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.schema.Wrapper
maybeUnwrap, unwrapOrThrow
-
Field Details
-
MINMAX_INVALID
public static final int MINMAX_INVALID- See Also:
-
MINMAX_PRIMITIVE
public static final int MINMAX_PRIMITIVE- See Also:
-
MINMAX_COMPARABLE
public static final int MINMAX_COMPARABLE- See Also:
-
MINMAX_COMPARATOR
public static final int MINMAX_COMPARATOR- See Also:
-
argTypes
Deprecated.
-
-
Constructor Details
-
SqlMinMaxAggFunction
Creates a SqlMinMaxAggFunction. -
SqlMinMaxAggFunction
Creates a SqlMinMaxAggFunction. -
SqlMinMaxAggFunction
Deprecated.
-
-
Method Details
-
isMin
Deprecated. -
getMinMaxKind
Deprecated. -
getDistinctOptionality
Description copied from class:SqlAggFunctionReturns whether this aggregate function allows theDISTINCTkeyword.The default implementation returns
Optionality.OPTIONAL, which is appropriate for most aggregate functions, includingSUMandCOUNT.Some aggregate functions, for example
MIN, produce the same result with or withoutDISTINCT, and therefore returnOptionality.IGNOREDto indicate this. For such functions, Calcite will probably removeDISTINCTwhile optimizing the query.- Overrides:
getDistinctOptionalityin classSqlAggFunction
-
getParameterTypes
- Overrides:
getParameterTypesin classSqlAggFunction
-
getReturnType
- Overrides:
getReturnTypein classSqlAggFunction
-
unwrap
Description copied from interface:WrapperFinds an instance of an interface implemented by this object, or returns null if this object does not support that interface.- Specified by:
unwrapin interfaceWrapper- Overrides:
unwrapin classSqlAggFunction
-
getRollup
Description copied from class:SqlAggFunctionGets rollup aggregation function.- Overrides:
getRollupin classSqlAggFunction
-