Class RangePredicate

  • All Implemented Interfaces:
    Predicate

    public class RangePredicate
    extends BasePredicate
    Predicate for RANGE.

    Pinot uses RANGE to represent '>', '>=', '<', '<=', BETWEEN so that intersection of multiple ranges can be merged.

    • Constructor Detail

      • RangePredicate

        public RangePredicate​(ExpressionContext lhs,
                              String range)
        The range is formatted as 5 parts:
        • Lower inclusive '[' or exclusive '('
        • Lower bound ('*' for unbounded)
        • Delimiter ('\0')
        • Upper bound ('*' for unbounded)
        • Upper inclusive ']' or exclusive ')'
      • RangePredicate

        public RangePredicate​(ExpressionContext lhs,
                              boolean lowerInclusive,
                              String lowerBound,
                              boolean upperInclusive,
                              String upperBound)
    • Method Detail

      • getType

        public Predicate.Type getType()
        Description copied from interface: Predicate
        Returns the type of the predicate.
      • isLowerInclusive

        public boolean isLowerInclusive()
      • getLowerBound

        public String getLowerBound()
      • isUpperInclusive

        public boolean isUpperInclusive()
      • getUpperBound

        public String getUpperBound()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object