Enum SqlMonotonicity

java.lang.Object
java.lang.Enum<SqlMonotonicity>
org.apache.calcite.sql.validate.SqlMonotonicity
All Implemented Interfaces:
Serializable, Comparable<SqlMonotonicity>, Constable

public enum SqlMonotonicity extends Enum<SqlMonotonicity>
Enumeration of types of monotonicity.
  • Enum Constant Details

    • 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 Details

    • values

      public static SqlMonotonicity[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static SqlMonotonicity valueOf(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:
      IllegalArgumentException - if this enum type has no constant with the specified name
      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 for NOT_MONOTONIC and CONSTANT, 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