Class WindowFrameBound

java.lang.Object
org.h2.expression.analysis.WindowFrameBound

public class WindowFrameBound extends Object
Window frame bound.
  • Field Details

    • type

      private final WindowFrameBoundType type
    • value

      private Expression value
    • isVariable

      private boolean isVariable
    • expressionIndex

      private int expressionIndex
  • Constructor Details

    • WindowFrameBound

      public WindowFrameBound(WindowFrameBoundType type, Expression value)
      Creates new instance of window frame bound.
      Parameters:
      type - bound type
      value - bound value, if any
  • Method Details

    • getType

      public WindowFrameBoundType getType()
      Returns the type
      Returns:
      the type
    • getValue

      public Expression getValue()
      Returns the value.
      Returns:
      the value
    • isParameterized

      public boolean isParameterized()
      Returns whether bound is defined as n PRECEDING or n FOLLOWING.
      Returns:
      whether bound is defined as n PRECEDING or n FOLLOWING
    • isVariable

      public boolean isVariable()
      Returns whether bound is defined with a variable. This method may be used only after optimize(SessionLocal) invocation.
      Returns:
      whether bound is defined with a variable
    • getExpressionIndex

      public int getExpressionIndex()
      Returns the index of preserved expression.
      Returns:
      the index of preserved expression, or -1
    • setExpressionIndex

      void setExpressionIndex(int expressionIndex)
      Sets the index of preserved expression.
      Parameters:
      expressionIndex - the index to set
    • mapColumns

      void mapColumns(ColumnResolver resolver, int level, int state)
      Map the columns of the resolver to expression columns.
      Parameters:
      resolver - the column resolver
      level - the subquery nesting level
      state - current state for nesting checks
    • optimize

      void optimize(SessionLocal session)
      Try to optimize bound expression.
      Parameters:
      session - the session
    • updateAggregate

      void updateAggregate(SessionLocal session, int stage)
      Update an aggregate value.
      Parameters:
      session - the session
      stage - select stage
      See Also:
    • getSQL

      public StringBuilder getSQL(StringBuilder builder, boolean following, int sqlFlags)
      Appends SQL representation to the specified builder.
      Parameters:
      builder - string builder
      following - if false return SQL for starting clause, if true return SQL for following clause
      sqlFlags - formatting flags
      Returns:
      the specified string builder
      See Also: