Class WindowFrame


  • public final class WindowFrame
    extends java.lang.Object
    Window frame clause.
    • Method Detail

      • iterator

        public static java.util.Iterator<Value[]> iterator​(Window over,
                                                           SessionLocal session,
                                                           java.util.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,
                                      java.util.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:
        java.lang.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 java.util.Iterator<Value[]> iterator​(SessionLocal session,
                                                    java.util.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,
                                 java.util.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:
        java.lang.UnsupportedOperationException - if exclusion clause is not EXCLUDE NO OTHERS
      • getSQL

        public java.lang.StringBuilder getSQL​(java.lang.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:
        Expression.getSQL(StringBuilder, int, int)