Class WindowFrameBound


  • public class WindowFrameBound
    extends java.lang.Object
    Window frame bound.
    • Field Detail

      • isVariable

        private boolean isVariable
      • expressionIndex

        private int expressionIndex
    • Constructor Detail

      • WindowFrameBound

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

      • 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
      • getSQL

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