Package org.apache.calcite.sql.validate
Enum SqlMonotonicity
- java.lang.Object
-
- java.lang.Enum<SqlMonotonicity>
-
- org.apache.calcite.sql.validate.SqlMonotonicity
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<SqlMonotonicity>
public enum SqlMonotonicity extends java.lang.Enum<SqlMonotonicity>
Enumeration of types of monotonicity.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CONSTANT
DECREASING
INCREASING
MONOTONIC
Catch-all value for expressions that have some monotonic properties.NOT_MONOTONIC
STRICTLY_DECREASING
STRICTLY_INCREASING
-
Constructor Summary
Constructors Modifier Constructor Description private
SqlMonotonicity()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isDecreasing()
Whether values of this monotonicity are decreasing.boolean
mayRepeat()
Returns whether values of this monotonicity may ever repeat after moving to another value: true forNOT_MONOTONIC
andCONSTANT
, false otherwise.SqlMonotonicity
reverse()
Returns the reverse monotonicity.SqlMonotonicity
unstrict()
If this is a strict monotonicity (StrictlyIncreasing, StrictlyDecreasing) returns the non-strict equivalent (Increasing, Decreasing).static SqlMonotonicity
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static SqlMonotonicity[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
STRICTLY_INCREASING
public static final SqlMonotonicity STRICTLY_INCREASING
-
INCREASING
public static final SqlMonotonicity INCREASING
-
STRICTLY_DECREASING
public static final SqlMonotonicity STRICTLY_DECREASING
-
DECREASING
public static final SqlMonotonicity DECREASING
-
CONSTANT
public static final SqlMonotonicity CONSTANT
-
MONOTONIC
public static final SqlMonotonicity MONOTONIC
Catch-all value for expressions that have some monotonic properties. Maybe it isn't known whether the expression is increasing or decreasing; or maybe the value is neither increasing nor decreasing but the value never repeats.
-
NOT_MONOTONIC
public static final SqlMonotonicity NOT_MONOTONIC
-
-
Method Detail
-
values
public static SqlMonotonicity[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (SqlMonotonicity c : SqlMonotonicity.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static SqlMonotonicity valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
unstrict
public SqlMonotonicity unstrict()
If this is a strict monotonicity (StrictlyIncreasing, StrictlyDecreasing) returns the non-strict equivalent (Increasing, Decreasing).- Returns:
- non-strict equivalent monotonicity
-
reverse
public SqlMonotonicity reverse()
Returns the reverse monotonicity.- Returns:
- reverse monotonicity
-
isDecreasing
public boolean isDecreasing()
Whether values of this monotonicity are decreasing. That is, if a value at a given point in a sequence is X, no point later in the sequence will have a value greater than X.- Returns:
- whether values are decreasing
-
mayRepeat
public boolean mayRepeat()
Returns whether values of this monotonicity may ever repeat after moving to another value: true forNOT_MONOTONIC
andCONSTANT
, false otherwise.If a column is known not to repeat, a sort on that column can make progress before all of the input has been seen.
- Returns:
- whether values repeat
-
-