Package org.apache.cassandra.db
Class Slice
java.lang.Object
org.apache.cassandra.db.Slice
A slice represents the selection of a range of rows.
A slice has a start and an end bound that are both (potentially full) clustering prefixes. A slice selects every row whose clustering is included within its start and end bounds. Both start and end can be either inclusive or exclusive.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SliceThe slice selecting all rows (of a given partition)static final Slice.Serializer -
Method Summary
Modifier and TypeMethodDescriptionclose(boolean reversed) end()booleanforPaging(ClusteringComparator comparator, Clustering<?> lastReturned, boolean inclusive, boolean reversed) Returns a slice for continuing paging from the last returned clustering prefix.inthashCode()booleanincludes(ClusteringComparator comparator, ClusteringPrefix<?> bound) Returns whether a given clustering or bound is included in this slice.booleanintersects(ClusteringComparator comparator, Slice other) Whether this slice and the provided slice intersects.booleanisEmpty(ClusteringComparator comparator) Return whether the slice is empty.static booleanisEmpty(ClusteringComparator comparator, ClusteringBound<?> start, ClusteringBound<?> end) Return whether the slice formed by the two provided bound is empty or not.static Slicemake(Clustering<?> clustering) Makes a slice covering a single clusteringstatic Slicemake(Clustering<?> start, Clustering<?> end) Makes a slice covering a range from start to end clusterings, with both start and end includedstatic Slicemake(ClusteringBound<?> start, ClusteringBound<?> end) static Slicemake(ClusteringBoundOrBoundary<?> start, ClusteringBoundOrBoundary<?> end) Makes a slice for the given boundsstatic Slicemake(ClusteringComparator comparator, Object... values) open(boolean reversed) start()toString(ClusteringComparator comparator)
-
Field Details
-
serializer
-
ALL
The slice selecting all rows (of a given partition)
-
-
Method Details
-
make
-
make
-
make
Makes a slice covering a single clustering -
make
Makes a slice covering a range from start to end clusterings, with both start and end included -
make
Makes a slice for the given bounds -
start
-
end
-
open
-
close
-
isEmpty
Return whether the slice is empty.- Parameters:
comparator- the comparator to compare the bounds.- Returns:
- whether the slice formed is empty or not.
-
isEmpty
public static boolean isEmpty(ClusteringComparator comparator, ClusteringBound<?> start, ClusteringBound<?> end) Return whether the slice formed by the two provided bound is empty or not.- Parameters:
comparator- the comparator to compare the bounds.start- the start for the slice to consider. This must be a start bound.end- the end for the slice to consider. This must be an end bound.- Returns:
- whether the slice formed by
startandendis empty or not.
-
includes
Returns whether a given clustering or bound is included in this slice.- Parameters:
comparator- the comparator for the table this is a slice of.bound- the bound to test inclusion of.- Returns:
- whether
boundis within the bounds of this slice.
-
forPaging
public Slice forPaging(ClusteringComparator comparator, Clustering<?> lastReturned, boolean inclusive, boolean reversed) Returns a slice for continuing paging from the last returned clustering prefix.- Parameters:
comparator- the comparator for the table this is a filter for.lastReturned- the last clustering that was returned for the query we are paging for. The resulting slices will be such that only results coming stricly afterlastReturnedare returned (where coming after means "greater than" if!reversedand "lesser than" otherwise).inclusive- whether we want to include thelastReturnedin the newly returned page of results.reversed- whether the query we're paging for is reversed or not.- Returns:
- a new slice that selects results coming after
lastReturned, ornullif paging the resulting slice selects nothing (i.e. if it originally selects nothing coming afterlastReturned).
-
intersects
Whether this slice and the provided slice intersects.- Parameters:
comparator- the comparator for the table this is a slice of.other- the other slice to check intersection with.- Returns:
- whether this slice intersects
other.
-
toString
-
equals
-
hashCode
public int hashCode()
-