public class MultiPartitionPager<T extends SinglePartitionReadQuery> extends java.lang.Object implements QueryPager
EMPTY
Constructor and Description |
---|
MultiPartitionPager(SinglePartitionReadQuery.Group<T> group,
PagingState state,
ProtocolVersion protocolVersion) |
Modifier and Type | Method and Description |
---|---|
ReadExecutionController |
executionController()
Starts a new read operation.
|
PartitionIterator |
fetchPage(int pageSize,
ConsistencyLevel consistency,
ClientState clientState,
long queryStartNanoTime)
Fetches the next page.
|
PartitionIterator |
fetchPageInternal(int pageSize,
ReadExecutionController executionController)
Fetches the next page internally (in other, this does a local query).
|
boolean |
isExhausted()
Whether or not this pager is exhausted, i.e.
|
int |
maxRemaining()
The maximum number of cells/CQL3 row that we may still have to return.
|
PagingState |
state()
Get the current state of the pager.
|
QueryPager |
withUpdatedLimit(DataLimits newLimits)
Creates a new
QueryPager that use the new limits. |
public MultiPartitionPager(SinglePartitionReadQuery.Group<T> group, PagingState state, ProtocolVersion protocolVersion)
public QueryPager withUpdatedLimit(DataLimits newLimits)
QueryPager
QueryPager
that use the new limits.withUpdatedLimit
in interface QueryPager
newLimits
- the new limitsQueryPager
that use the new limitspublic PagingState state()
QueryPager
state
in interface QueryPager
public boolean isExhausted()
QueryPager
isExhausted
in interface QueryPager
public ReadExecutionController executionController()
QueryPager
This must be called before fetchPageInternal
and passed to it to protect the read.
The returned object must be closed on all path and it is thus strongly advised to
use it in a try-with-ressource construction.
executionController
in interface QueryPager
QueryPager
.public PartitionIterator fetchPage(int pageSize, ConsistencyLevel consistency, ClientState clientState, long queryStartNanoTime) throws RequestValidationException, RequestExecutionException
QueryPager
fetchPage
in interface QueryPager
pageSize
- the maximum number of elements to return in the next page.consistency
- the consistency level to achieve for the query.clientState
- the ClientState
for the query. In practice, this can be null unless
consistency
is a serial consistency.RequestValidationException
RequestExecutionException
public PartitionIterator fetchPageInternal(int pageSize, ReadExecutionController executionController) throws RequestValidationException, RequestExecutionException
QueryPager
fetchPageInternal
in interface QueryPager
pageSize
- the maximum number of elements to return in the next page.executionController
- the ReadExecutionController
protecting the read.RequestValidationException
RequestExecutionException
public int maxRemaining()
QueryPager
maxRemaining
in interface QueryPager
Copyright © 2009- The Apache Software Foundation