public abstract class DataLimits
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
DataLimits.Counter |
static class |
DataLimits.Kind |
static class |
DataLimits.Serializer |
Modifier and Type | Field and Description |
---|---|
static DataLimits |
DISTINCT_NONE |
static int |
NO_LIMIT |
static DataLimits |
NONE |
static DataLimits.Serializer |
serializer |
Constructor and Description |
---|
DataLimits() |
Modifier and Type | Method and Description |
---|---|
abstract int |
count()
The max number of results this limits enforces.
|
static DataLimits |
cqlLimits(int cqlRowLimit) |
static DataLimits |
cqlLimits(int cqlRowLimit,
int perPartitionLimit) |
static DataLimits |
distinctLimits(int cqlRowLimit) |
abstract float |
estimateTotalResults(ColumnFamilyStore cfs)
Estimate the number of results (the definition of "results" will be rows for CQL queries
and partitions for thrift ones) that a full scan of the provided cfs would yield.
|
PartitionIterator |
filter(PartitionIterator iter,
int nowInSec) |
UnfilteredPartitionIterator |
filter(UnfilteredPartitionIterator iter,
int nowInSec) |
UnfilteredRowIterator |
filter(UnfilteredRowIterator iter,
int nowInSec) |
abstract DataLimits |
forPaging(int pageSize) |
abstract DataLimits |
forPaging(int pageSize,
java.nio.ByteBuffer lastReturnedKey,
int lastReturnedKeyRemaining) |
abstract DataLimits |
forShortReadRetry(int toFetch) |
abstract boolean |
hasEnoughLiveData(CachedPartition cached,
int nowInSec) |
abstract boolean |
isDistinct() |
abstract boolean |
isUnlimited() |
abstract DataLimits.Kind |
kind() |
abstract DataLimits.Counter |
newCounter(int nowInSec,
boolean assumeLiveData)
Returns a new
Counter for this limits. |
abstract int |
perPartitionCount() |
static DataLimits |
superColumnCountingLimits(int partitionLimit,
int cellPerPartitionLimit) |
static DataLimits |
thriftLimits(int partitionLimit,
int cellPerPartitionLimit) |
public static final DataLimits.Serializer serializer
public static final int NO_LIMIT
public static final DataLimits NONE
public static final DataLimits DISTINCT_NONE
public static DataLimits cqlLimits(int cqlRowLimit)
public static DataLimits cqlLimits(int cqlRowLimit, int perPartitionLimit)
public static DataLimits distinctLimits(int cqlRowLimit)
public static DataLimits thriftLimits(int partitionLimit, int cellPerPartitionLimit)
public static DataLimits superColumnCountingLimits(int partitionLimit, int cellPerPartitionLimit)
public abstract DataLimits.Kind kind()
public abstract boolean isUnlimited()
public abstract boolean isDistinct()
public abstract DataLimits forPaging(int pageSize)
public abstract DataLimits forPaging(int pageSize, java.nio.ByteBuffer lastReturnedKey, int lastReturnedKeyRemaining)
public abstract DataLimits forShortReadRetry(int toFetch)
public abstract boolean hasEnoughLiveData(CachedPartition cached, int nowInSec)
public abstract DataLimits.Counter newCounter(int nowInSec, boolean assumeLiveData)
Counter
for this limits.nowInSec
- the current time in second (to decide what is expired or not).assumeLiveData
- if true, the counter will assume that every row passed is live and won't
thus check for liveness, otherwise it will. This should be true
when used on a
RowIterator
(since it only returns live rows), false otherwise.Counter
for this limits.public abstract int count()
Note that the actual definition of "results" depends a bit: for CQL, it's always rows, but for thrift, it means cells.
public abstract int perPartitionCount()
public UnfilteredPartitionIterator filter(UnfilteredPartitionIterator iter, int nowInSec)
public UnfilteredRowIterator filter(UnfilteredRowIterator iter, int nowInSec)
public PartitionIterator filter(PartitionIterator iter, int nowInSec)
public abstract float estimateTotalResults(ColumnFamilyStore cfs)
Copyright © 2017 The Apache Software Foundation