Class NullPredicate

All Implemented Interfaces:
HasSQL, Typed

public final class NullPredicate extends SimplePredicate
Null predicate (IS [NOT] NULL).
  • Field Details

    • optimized

      private boolean optimized
  • Constructor Details

    • NullPredicate

      public NullPredicate(Expression left, boolean not, boolean whenOperand)
  • Method Details

    • getUnenclosedSQL

      public StringBuilder getUnenclosedSQL(StringBuilder builder, int sqlFlags)
      Description copied from class: Expression
      Get the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.
      Specified by:
      getUnenclosedSQL in class Expression
      Parameters:
      builder - string builder
      sqlFlags - formatting flags
      Returns:
      the specified string builder
    • getWhenSQL

      public StringBuilder getWhenSQL(StringBuilder builder, int sqlFlags)
      Description copied from class: Expression
      Appends the SQL statement of this when operand to the specified builder.
      Overrides:
      getWhenSQL in class Expression
      Parameters:
      builder - string builder
      sqlFlags - formatting flags
      Returns:
      the specified string builder
    • optimize

      public Expression optimize(SessionLocal session)
      Description copied from class: Expression
      Try to optimize the expression.
      Overrides:
      optimize in class SimplePredicate
      Parameters:
      session - the session
      Returns:
      the optimized expression
    • getValue

      public Value getValue(SessionLocal session)
      Description copied from class: Expression
      Return the resulting value for the current row.
      Specified by:
      getValue in class Expression
      Parameters:
      session - the session
      Returns:
      the result
    • getWhenValue

      public boolean getWhenValue(SessionLocal session, Value left)
      Description copied from class: Expression
      Return the resulting value of when operand for the current row.
      Overrides:
      getWhenValue in class Expression
      Parameters:
      session - the session
      left - value on the left side
      Returns:
      the result
    • getValue

      private boolean getValue(Value left)
    • getNotIfPossible

      public Expression getNotIfPossible(SessionLocal session)
      Description copied from class: Expression
      If it is possible, return the negated expression. This is used to optimize NOT expressions: NOT ID>10 can be converted to ID<=10. Returns null if negating is not possible.
      Overrides:
      getNotIfPossible in class Expression
      Parameters:
      session - the session
      Returns:
      the negated expression, or null
    • createIndexConditions

      public void createIndexConditions(SessionLocal session, TableFilter filter)
      Description copied from class: Expression
      Create index conditions if possible and attach them to the table filter.
      Overrides:
      createIndexConditions in class Expression
      Parameters:
      session - the session
      filter - the table filter
    • createNullIndexCondition

      private static void createNullIndexCondition(TableFilter filter, ExpressionColumn c)