Class ResultSetNode.QueryExpressionClauses
- java.lang.Object
-
- org.apache.derby.impl.sql.compile.ResultSetNode.QueryExpressionClauses
-
- Enclosing class:
- ResultSetNode
static class ResultSetNode.QueryExpressionClauses extends java.lang.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 haveobl[0] = "order by a", offset[0] = null, fetchFirst[0] = "next 5 rows"
andobl[1] = "order by b", offset[1] = null fetchFirst[1] = null
When starting pushing clauses for a new level, always remember to do apush()
before adding the clauses viasetOffset(org.apache.derby.impl.sql.compile.ValueNode)
,setFetchFirst(org.apache.derby.impl.sql.compile.ValueNode)
,setOrderByList(org.apache.derby.impl.sql.compile.OrderByList)
andsetHasJDBCLimitClause(java.lang.Boolean)
.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ValueNode>
fetchFirst
private java.util.List<java.lang.Boolean>
hasJDBCLimitClause
private java.util.List<OrderByList>
obl
private java.util.List<ValueNode>
offset
-
Constructor Summary
Constructors Constructor Description QueryExpressionClauses()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ValueNode
getFetchFirst(int i)
(package private) java.lang.Boolean[]
getHasJDBCLimitClause()
(package private) ValueNode
getOffset(int i)
(package private) OrderByList
getOrderByList(int i)
(package private) boolean
hasOffsetFetchFirst()
(package private) void
push()
(package private) void
setFetchFirst(int i, ValueNode v)
(package private) void
setFetchFirst(ValueNode v)
(package private) void
setHasJDBCLimitClause(java.lang.Boolean b)
(package private) void
setOffset(int i, ValueNode v)
(package private) void
setOffset(ValueNode v)
(package private) void
setOrderByList(int i, OrderByList obl)
(package private) void
setOrderByList(OrderByList obl)
(package private) int
size()
-
-
-
Field Detail
-
obl
private final java.util.List<OrderByList> obl
-
offset
private final java.util.List<ValueNode> offset
-
fetchFirst
private final java.util.List<ValueNode> fetchFirst
-
hasJDBCLimitClause
private final java.util.List<java.lang.Boolean> hasJDBCLimitClause
-
-
Method Detail
-
size
int size()
-
push
void push()
-
setOrderByList
void setOrderByList(OrderByList obl)
-
setOffset
void setOffset(ValueNode v)
-
setFetchFirst
void setFetchFirst(ValueNode v)
-
setHasJDBCLimitClause
void setHasJDBCLimitClause(java.lang.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
java.lang.Boolean[] getHasJDBCLimitClause()
-
hasOffsetFetchFirst
boolean hasOffsetFetchFirst()
-
-