Class ResultSetNode.QueryExpressionClauses

java.lang.Object
org.apache.derby.impl.sql.compile.ResultSetNode.QueryExpressionClauses
Enclosing class:
ResultSetNode

static class ResultSetNode.QueryExpressionClauses extends Object
For ease of pushing order by, offset and fetch first/next clauses into nodes. Clauses on the same nesting level have the same index in the lists, so at any level, any of the lists' elements may be empty. For example, (select * from t order by a fetch next 5 rows only) order by b would have
            obl[0] = "order by a",
            offset[0] = null,
            fetchFirst[0] = "next 5 rows"
 
and
            obl[1] = "order by b",
            offset[1] = null
            fetchFirst[1] = null
 
When starting pushing clauses for a new level, always remember to do a push() before adding the clauses via setOffset(org.apache.derby.impl.sql.compile.ValueNode), setFetchFirst(org.apache.derby.impl.sql.compile.ValueNode), setOrderByList(org.apache.derby.impl.sql.compile.OrderByList) and setHasJDBCLimitClause(java.lang.Boolean).
  • Field Details

  • Constructor Details

    • QueryExpressionClauses

      public QueryExpressionClauses()
  • Method Details

    • size

      int size()
    • push

      void push()
    • setOrderByList

      void setOrderByList(OrderByList obl)
    • setOffset

      void setOffset(ValueNode v)
    • setFetchFirst

      void setFetchFirst(ValueNode v)
    • setHasJDBCLimitClause

      void setHasJDBCLimitClause(Boolean b)
    • getOrderByList

      OrderByList getOrderByList(int i)
    • setOrderByList

      void setOrderByList(int i, OrderByList obl)
    • getOffset

      ValueNode getOffset(int i)
    • setOffset

      void setOffset(int i, ValueNode v)
    • getFetchFirst

      ValueNode getFetchFirst(int i)
    • setFetchFirst

      void setFetchFirst(int i, ValueNode v)
    • getHasJDBCLimitClause

      Boolean[] getHasJDBCLimitClause()
    • hasOffsetFetchFirst

      boolean hasOffsetFetchFirst()