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, selectionBuilderpublic 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()
ColumnFilterfetchedColumns in class ColumnFilterpublic RegularAndStaticColumns queriedColumns()
ColumnFilter
Note that this is in general not all the columns that are fetched internally (see ColumnFilter.fetchedColumns()).
queriedColumns in class ColumnFilterpublic 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 ColumnFilterisStatic - 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()
ColumnFilterisQueried() methods
can return false for some column/cell.allFetchedColumnsAreQueried in class ColumnFilterpublic boolean fetches(ColumnMetadata column)
ColumnFilterfetches in class ColumnFilterpublic boolean fetchedColumnIsQueried(ColumnMetadata column)
fetches(org.apache.cassandra.schema.ColumnMetadata) method.fetchedColumnIsQueried in class ColumnFilterpublic boolean fetchedCellIsQueried(ColumnMetadata column, CellPath path)
ColumnFilterColumnFilter.fetches(org.apache.cassandra.schema.ColumnMetadata) method.fetchedCellIsQueried in class ColumnFilterpublic ColumnFilter.Tester newTester(ColumnMetadata column)
ColumnFilterTester to efficiently test the inclusion of cells of complex column
column.newTester in class ColumnFiltercolumn - 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()
ColumnFilternull if there are none.subSelections in class ColumnFilternull if there are nonepublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toCQLString()
ColumnFilterColumnFilter.toCQLString in class ColumnFilterColumnFilter.Copyright © 2009-2022 The Apache Software Foundation