Class WindowFrame

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

public final class WindowFrame extends Object
Window frame clause.
  • Constructor Details

  • Method Details

    • iterator

      public static Iterator<Value[]> iterator(Window over, SessionLocal session, ArrayList<Value[]> orderedRows, SortOrder sortOrder, int currentRow, boolean reverse)
      Returns iterator for the specified frame, or default iterator if frame is null.
      Parameters:
      over - window
      session - the session
      orderedRows - ordered rows
      sortOrder - sort order
      currentRow - index of the current row
      reverse - whether iterator should iterate in reverse order
      Returns:
      iterator
    • getEndIndex

      public static int getEndIndex(Window over, SessionLocal session, ArrayList<Value[]> orderedRows, SortOrder sortOrder, int currentRow)
      Returns end index for the specified frame, or default end index if frame is null.
      Parameters:
      over - window
      session - the session
      orderedRows - ordered rows
      sortOrder - sort order
      currentRow - index of the current row
      Returns:
      end index
      Throws:
      UnsupportedOperationException - if over is not null and its exclusion clause is not EXCLUDE NO OTHERS
    • getUnits

      public WindowFrameUnits getUnits()
      Returns the units.
      Returns:
      the units
    • getStarting

      public WindowFrameBound getStarting()
      Returns the starting clause.
      Returns:
      the starting clause
    • getFollowing

      public WindowFrameBound getFollowing()
      Returns the following clause.
      Returns:
      the following clause, or null
    • getExclusion

      public WindowFrameExclusion getExclusion()
      Returns the exclusion clause.
      Returns:
      the exclusion clause
    • isValid

      public boolean isValid()
      Checks validity of this frame.
      Returns:
      whether bounds of this frame valid
    • isVariableBounds

      public boolean isVariableBounds()
      Check if bounds of this frame has variable expressions. This method may be used only after optimize(SessionLocal) invocation.
      Returns:
      if bounds of this frame has variable expressions
    • iterator

      public Iterator<Value[]> iterator(SessionLocal session, ArrayList<Value[]> orderedRows, SortOrder sortOrder, int currentRow, boolean reverse)
      Returns iterator.
      Parameters:
      session - the session
      orderedRows - ordered rows
      sortOrder - sort order
      currentRow - index of the current row
      reverse - whether iterator should iterate in reverse order
      Returns:
      iterator
    • getStartIndex

      public int getStartIndex(SessionLocal session, ArrayList<Value[]> orderedRows, SortOrder sortOrder, int currentRow)
      Returns start index of this frame,
      Parameters:
      session - the session
      orderedRows - ordered rows
      sortOrder - sort order
      currentRow - index of the current row
      Returns:
      start index
      Throws:
      UnsupportedOperationException - if exclusion clause is not EXCLUDE NO OTHERS
    • getSQL

      public StringBuilder getSQL(StringBuilder builder, int formattingFlags)
      Append SQL representation to the specified builder.
      Parameters:
      builder - string builder
      formattingFlags - quote all identifiers
      Returns:
      the specified string builder
      See Also: