public class SqlMinMaxAggFunction extends SqlAggFunction
MIN and MAX aggregate functions,
returning the returns the smallest/largest of the values which go into it.
There are 3 forms:
Comparable)
Comparable.compareTo(T)
Comparator, Object)
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.
| Modifier and Type | Field and Description |
|---|---|
List<RelDataType> |
argTypes
Deprecated.
|
static int |
MINMAX_COMPARABLE |
static int |
MINMAX_COMPARATOR |
static int |
MINMAX_INVALID |
static int |
MINMAX_PRIMITIVE |
kind, MDX_PRECEDENCE, NL| Constructor and Description |
|---|
SqlMinMaxAggFunction(List<RelDataType> argTypes,
boolean isMin,
int minMaxKind)
Deprecated.
|
SqlMinMaxAggFunction(SqlKind kind)
Creates a SqlMinMaxAggFunction.
|
SqlMinMaxAggFunction(String funcName,
SqlKind kind,
SqlOperandTypeChecker inputTypeChecker)
Creates a SqlMinMaxAggFunction.
|
| Modifier and Type | Method and Description |
|---|---|
Optionality |
getDistinctOptionality()
Returns whether this aggregate function allows the
DISTINCT
keyword. |
int |
getMinMaxKind()
Deprecated.
|
List<RelDataType> |
getParameterTypes(RelDataTypeFactory typeFactory) |
RelDataType |
getReturnType(RelDataTypeFactory typeFactory) |
SqlAggFunction |
getRollup()
Gets rollup aggregation function.
|
boolean |
isMin()
Deprecated.
|
<T> T |
unwrap(Class<T> clazz)
Finds an instance of an interface implemented by this object,
or returns null if this object does not support that interface.
|
allowsFilter, allowsNullTreatment, isAggregator, isPercentile, isQuantifierAllowed, requiresGroupOrder, requiresOrder, requiresOver, validateCallderiveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, getSyntax, unparse, validateQuantifieracceptCall, acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperandsclone, finalize, getClass, notify, notifyAll, wait, wait, waitmaybeUnwrap, unwrapOrThrowpublic static final int MINMAX_INVALID
public static final int MINMAX_PRIMITIVE
public static final int MINMAX_COMPARABLE
public static final int MINMAX_COMPARATOR
@Deprecated public final List<RelDataType> argTypes
public SqlMinMaxAggFunction(SqlKind kind)
public SqlMinMaxAggFunction(String funcName, SqlKind kind, SqlOperandTypeChecker inputTypeChecker)
@Deprecated public SqlMinMaxAggFunction(List<RelDataType> argTypes, boolean isMin, int minMaxKind)
@Deprecated public boolean isMin()
@Deprecated public int getMinMaxKind()
public Optionality getDistinctOptionality()
SqlAggFunctionDISTINCT
keyword.
The default implementation returns Optionality.OPTIONAL,
which is appropriate for most aggregate functions, including SUM
and COUNT.
Some aggregate functions, for example MIN, produce the same
result with or without DISTINCT, and therefore return
Optionality.IGNORED to indicate this. For such functions,
Calcite will probably remove DISTINCT while optimizing the query.
getDistinctOptionality in class SqlAggFunctionpublic List<RelDataType> getParameterTypes(RelDataTypeFactory typeFactory)
getParameterTypes in class SqlAggFunctionpublic RelDataType getReturnType(RelDataTypeFactory typeFactory)
getReturnType in class SqlAggFunctionpublic <T> T unwrap(Class<T> clazz)
Wrapperunwrap in interface Wrapperunwrap in class SqlAggFunctionpublic SqlAggFunction getRollup()
SqlAggFunctiongetRollup in class SqlAggFunctionCopyright © 2012-2022 Apache Software Foundation. All Rights Reserved.