Class Restriction

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    Restriction.AND, Restriction.ColumnQualifier, Restriction.OR

    public abstract class Restriction
    extends java.lang.Object
    implements java.io.Serializable

    An expression to be pushed into a Table Function so that the Table Function can short-circuit its processing and return fewer rows. A restriction is represented as a binary tree. The non-leaf nodes are ANDs and ORs. The leaf nodes are ColumnQualifiers. A ColumnQualifier is a simple expression comparing a constant value to a column in the Table Function.

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Restriction.AND
      An AND of two Restrictions
      static class  Restriction.ColumnQualifier
      A simple comparison of a column to a constant value.
      static class  Restriction.OR
      An OR of two Restrictions
    • Constructor Summary

      Constructors 
      Constructor Description
      Restriction()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String parenthesize​(java.lang.String raw)
      Utility method to parenthesize an expression
      abstract java.lang.String toSQL()
      Turn this Restriction into a string suitable for use in a WHERE clause.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Restriction

        public Restriction()
    • Method Detail

      • toSQL

        public abstract java.lang.String toSQL()
        Turn this Restriction into a string suitable for use in a WHERE clause.
      • parenthesize

        protected java.lang.String parenthesize​(java.lang.String raw)
        Utility method to parenthesize an expression