public static class ColumnFilter.SelectionColumnFilter extends ColumnFilter
ColumnFilter
sub-class for queries with selected columns.
The class does not rely on TableMetadata and expect a fix set of fetched columns to prevent issues with Schema race propagation. See CASSANDRA-15899.
ColumnFilter.Builder, ColumnFilter.SelectionColumnFilter, ColumnFilter.Serializer, ColumnFilter.Tester, ColumnFilter.WildCardColumnFilter
Modifier and Type | Field and Description |
---|---|
org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy |
fetchingStrategy |
NONE, serializer
Constructor and Description |
---|
SelectionColumnFilter(org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy fetchingStrategy,
RegularAndStaticColumns queried,
RegularAndStaticColumns fetched,
com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> subSelections)
Creates a
ColumnFilter for queries with selected columns. |
Modifier and Type | Method and Description |
---|---|
boolean |
allFetchedColumnsAreQueried()
Whether _fetched_ == _queried_ for this filter, and so if the
isQueried() methods
can return false for some column/cell. |
boolean |
equals(java.lang.Object other) |
boolean |
fetchedCellIsQueried(ColumnMetadata column,
CellPath path)
Whether the provided complex cell (identified by its column and path), which is assumed to be _fetched_ by
this filter, is also _queried_ by the user.
|
boolean |
fetchedColumnIsQueried(ColumnMetadata column)
Whether the provided complex cell (identified by its column and path), which is assumed to be _fetched_ by
this filter, is also _queried_ by the user.
|
RegularAndStaticColumns |
fetchedColumns()
The columns that needs to be fetched internally for this filter.
|
boolean |
fetches(ColumnMetadata column)
Whether the provided column is fetched by this filter.
|
boolean |
fetchesAllColumns(boolean isStatic)
Whether all the (regular or static) columns are fetched by this filter.
|
int |
hashCode() |
static ColumnFilter.SelectionColumnFilter |
newInstance(org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy fetchingStrategy,
TableMetadata metadata,
RegularAndStaticColumns queried,
com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> subSelections) |
ColumnFilter.Tester |
newTester(ColumnMetadata column)
Creates a new
Tester to efficiently test the inclusion of cells of complex column
column . |
RegularAndStaticColumns |
queriedColumns()
The columns actually queried by the user.
|
protected com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> |
subSelections()
Returns the sub-selections or
null if there are none. |
java.lang.String |
toCQLString()
Returns the CQL string corresponding to this
ColumnFilter . |
java.lang.String |
toString() |
all, allRegularColumnsBuilder, isWildcard, selection, selection, selectionBuilder
public final org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy fetchingStrategy
public SelectionColumnFilter(org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy fetchingStrategy, RegularAndStaticColumns queried, RegularAndStaticColumns fetched, com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> subSelections)
ColumnFilter
for queries with selected columns.
The class does not rely on TableMetadata and expect a fix set of columns to prevent issues with Schema race propagation. See CASSANDRA-15899.
fetchingStrategy
- the strategy used to select the fetched columnsfetched
- the columns that must be fetchedqueried
- the queried columnssubSelections
- the columns sub-selectionspublic static ColumnFilter.SelectionColumnFilter newInstance(org.apache.cassandra.db.filter.ColumnFilter.FetchingStrategy fetchingStrategy, TableMetadata metadata, RegularAndStaticColumns queried, com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> subSelections)
public RegularAndStaticColumns fetchedColumns()
ColumnFilter
fetchedColumns
in class ColumnFilter
public RegularAndStaticColumns queriedColumns()
ColumnFilter
Note that this is in general not all the columns that are fetched internally (see ColumnFilter.fetchedColumns()
).
queriedColumns
in class ColumnFilter
public boolean fetchesAllColumns(boolean isStatic)
ColumnFilter
Note that this method is meant as an optimization but a negative return
shouldn't be relied upon strongly: this can return false
but
still have all the columns fetches if those were manually selected by the
user. The goal here is to cheaply avoid filtering things on wildcard
queries, as those are common.
fetchesAllColumns
in class ColumnFilter
isStatic
- whether to check for static columns or not. If true
,
the method returns if all static columns are fetched, otherwise it checks
regular columns.public boolean allFetchedColumnsAreQueried()
ColumnFilter
isQueried()
methods
can return false
for some column/cell.allFetchedColumnsAreQueried
in class ColumnFilter
public boolean fetches(ColumnMetadata column)
ColumnFilter
fetches
in class ColumnFilter
public boolean fetchedColumnIsQueried(ColumnMetadata column)
fetches(org.apache.cassandra.schema.ColumnMetadata)
method.fetchedColumnIsQueried
in class ColumnFilter
public boolean fetchedCellIsQueried(ColumnMetadata column, CellPath path)
ColumnFilter
ColumnFilter.fetches(org.apache.cassandra.schema.ColumnMetadata)
method.fetchedCellIsQueried
in class ColumnFilter
public ColumnFilter.Tester newTester(ColumnMetadata column)
ColumnFilter
Tester
to efficiently test the inclusion of cells of complex column
column
.newTester
in class ColumnFilter
column
- for complex column for which to create a tester.null
if all the cells from the provided column
are queried.protected com.google.common.collect.SortedSetMultimap<ColumnIdentifier,ColumnSubselection> subSelections()
ColumnFilter
null
if there are none.subSelections
in class ColumnFilter
null
if there are nonepublic boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toCQLString()
ColumnFilter
ColumnFilter
.toCQLString
in class ColumnFilter
ColumnFilter
.Copyright © 2009-2022 The Apache Software Foundation