public class VirtualTablePartitionRangeReadQuery extends VirtualTableReadQuery implements PartitionRangeReadQuery
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendCQLWhereClause(java.lang.StringBuilder sb) |
ColumnFilter |
columnFilter()
A filter on which (non-PK) columns must be returned by the query.
|
static VirtualTablePartitionRangeReadQuery |
create(TableMetadata metadata,
int nowInSec,
ColumnFilter columnFilter,
RowFilter rowFilter,
DataLimits limits,
DataRange dataRange) |
DataRange |
dataRange() |
PartitionIterator |
executeInternal(ReadExecutionController controller)
Execute the query for internal queries (that is, it basically executes the query locally).
|
DataLimits |
limits()
The limits for the query.
|
TableMetadata |
metadata()
The metadata for the table this is a query on.
|
java.lang.String |
name() |
int |
nowInSec()
The time in seconds to use as "now" for this query.
|
protected UnfilteredPartitionIterator |
queryVirtualTable() |
RowFilter |
rowFilter()
Filters/Resrictions on CQL rows.
|
java.lang.String |
toCQLString()
Recreate the CQL string corresponding to this query.
|
PartitionRangeReadQuery |
withUpdatedLimit(DataLimits newLimits)
Creates a new
PartitionRangeReadQuery with the updated limits. |
PartitionRangeReadQuery |
withUpdatedLimitsAndDataRange(DataLimits newLimits,
DataRange newDataRange)
Creates a new
PartitionRangeReadQuery with the updated limits and data range. |
execute, executeLocally, executionControllerabort, complete, creationTimeNanos, isAborted, isCompleted, isCrossNode, isInProgress, isSlow, setMonitoringTime, slowTimeoutNanos, timeoutNanosclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetPager, selectsClustering, selectsFullPartition, selectsKeycolumnFilter, empty, execute, executeInternal, executeLocally, executionController, isEmpty, limits, maybeValidateIndex, metadata, nowInSec, rowFilterpublic static VirtualTablePartitionRangeReadQuery create(TableMetadata metadata, int nowInSec, ColumnFilter columnFilter, RowFilter rowFilter, DataLimits limits, DataRange dataRange)
create in interface PartitionRangeReadQuerypublic DataRange dataRange()
dataRange in interface PartitionRangeReadQuerypublic PartitionRangeReadQuery withUpdatedLimit(DataLimits newLimits)
PartitionRangeReadQueryPartitionRangeReadQuery with the updated limits.withUpdatedLimit in interface PartitionRangeReadQuerynewLimits - the new limitsPartitionRangeReadQuerypublic PartitionRangeReadQuery withUpdatedLimitsAndDataRange(DataLimits newLimits, DataRange newDataRange)
PartitionRangeReadQueryPartitionRangeReadQuery with the updated limits and data range.withUpdatedLimitsAndDataRange in interface PartitionRangeReadQuerynewLimits - the new limitsPartitionRangeReadQueryprotected UnfilteredPartitionIterator queryVirtualTable()
queryVirtualTable in class VirtualTableReadQueryprotected void appendCQLWhereClause(java.lang.StringBuilder sb)
public TableMetadata metadata()
ReadQuerypublic java.lang.String name()
name in interface Monitorablepublic PartitionIterator executeInternal(ReadExecutionController controller)
ReadQueryexecuteInternal in interface ReadQuerycontroller - the ReadExecutionController protecting the read.public DataLimits limits()
ReadQuerypublic int nowInSec()
ReadQueryWe use the same time as "now" for the whole query to avoid considering different values as expired during the query, which would be buggy (would throw of counting amongst other things).
public RowFilter rowFilter()
ReadQuery
This contains the restrictions that are not directly handled by the
ClusteringIndexFilter. More specifically, this includes any non-PK column
restrictions and can include some PK columns restrictions when those can't be
satisfied entirely by the clustering index filter (because not all clustering columns
have been restricted for instance). If there is 2ndary indexes on the table,
one of this restriction might be handled by a 2ndary index.
public ColumnFilter columnFilter()
ReadQuerycolumnFilter in interface ReadQuerypublic java.lang.String toCQLString()
Note that in general the returned string will not be exactly the original user string, first because there isn't always a single syntax for a given query, but also because we don't have all the information needed (we know the non-PK columns queried but not the PK ones as internally we query them all). So this shouldn't be relied too strongly, but this should be good enough for debugging purpose which is what this is for.
Copyright © 2009-2020 The Apache Software Foundation