Class Operation0

java.lang.Object
org.h2.expression.Expression
org.h2.expression.Operation0
All Implemented Interfaces:
HasSQL, Typed
Direct Known Subclasses:
CurrentDateTimeValueFunction, CurrentGeneralValueSpecification, DomainValueExpression, OnDuplicateKeyValues, Parameter, Rownum, SequenceValue, SysInfoFunction, ValueExpression, Variable

public abstract class Operation0 extends Expression
Operation without subexpressions.
  • Constructor Details

    • Operation0

      protected Operation0()
  • Method Details

    • mapColumns

      public void mapColumns(ColumnResolver resolver, int level, int state)
      Description copied from class: Expression
      Map the columns of the resolver to expression columns.
      Specified by:
      mapColumns in class Expression
      Parameters:
      resolver - the column resolver
      level - the subquery nesting level
      state - current state for nesting checks, initial value is Expression.MAP_INITIAL
    • optimize

      public Expression optimize(SessionLocal session)
      Description copied from class: Expression
      Try to optimize the expression.
      Specified by:
      optimize in class Expression
      Parameters:
      session - the session
      Returns:
      the optimized expression
    • setEvaluatable

      public void setEvaluatable(TableFilter tableFilter, boolean value)
      Description copied from class: Expression
      Tell the expression columns whether the table filter can return values now. This is used when optimizing the query.
      Specified by:
      setEvaluatable in class Expression
      Parameters:
      tableFilter - the table filter
      value - true if the table filter can return value
    • updateAggregate

      public void updateAggregate(SessionLocal session, int stage)
      Description copied from class: Expression
      Update an aggregate value. This method is called at statement execution time. It is usually called once for each row, but if the expression is used multiple times (for example in the column list, and as part of the HAVING expression) it is called multiple times - the row counter needs to be used to make sure the internal state is only updated once.
      Specified by:
      updateAggregate in class Expression
      Parameters:
      session - the session
      stage - select stage