Enum Class AggregateProperty
- All Implemented Interfaces:
Serializable,Comparable<AggregateProperty>,Constable
A contract an aggregate makes with the optimizer, in the way
FunctionProperty does for scalar functions.
Each constant licenses a rewrite that would otherwise be unsound, so declaring one of an aggregate that does not honour it changes results rather than timings.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionFeeding the same value twice does not change the result, so a duplicate-removing step below the aggregate can be dropped:MINandMAXdo not care how many times they saw a value, whileSUM,AVG,COUNTandCOLLECTvery much do.The result does not depend on the order rows arrive in. -
Method Summary
Modifier and TypeMethodDescriptionstatic AggregatePropertyReturns the enum constant of this class with the specified name.static AggregateProperty[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
DUPLICATE_INSENSITIVE
Feeding the same value twice does not change the result, so a duplicate-removing step below the aggregate can be dropped:MINandMAXdo not care how many times they saw a value, whileSUM,AVG,COUNTandCOLLECTvery much do. -
ORDER_INSENSITIVE
The result does not depend on the order rows arrive in.SUMqualifies;COLLECT, which gathers values into an array in row order, does not, and neither does anARGMAXwhose ties resolve to the first matching row.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-