pub struct SSTablePredicate {
pub column: String,
pub operation: SSTableFilterOp,
pub values: Vec<Value>,
pub token_columns: Option<Vec<String>>,
}Expand description
SSTable-level predicate that can be pushed down
Fields§
§column: String§operation: SSTableFilterOp§values: Vec<Value>§token_columns: Option<Vec<String>>When Some, this predicate constrains the Murmur3 token of the
partition key formed by these columns (e.g. WHERE token(pk) >= ?),
rather than a stored column value (Issue #955, Epic #951). The bound(s)
in Self::values are Value::BigInt token values, and evaluation
hashes the row’s raw partition key with cassandra_murmur3_token and
compares it to the bound — Cassandra’s Murmur3Partitioner semantics.
None for ordinary column predicates. Carries the partition-key column
names (in declared order) so a multi-column token(a, b) is supported,
keeping the representation typed rather than encoding intent in
Self::column.
Implementations§
Source§impl SSTablePredicate
impl SSTablePredicate
Sourcepub fn column(
column: impl Into<String>,
operation: SSTableFilterOp,
values: Vec<Value>,
) -> Self
pub fn column( column: impl Into<String>, operation: SSTableFilterOp, values: Vec<Value>, ) -> Self
Construct an ordinary column predicate (token_columns: None).
Sourcepub fn token(
token_columns: Vec<String>,
operation: SSTableFilterOp,
values: Vec<Value>,
) -> Self
pub fn token( token_columns: Vec<String>, operation: SSTableFilterOp, values: Vec<Value>, ) -> Self
Construct a token predicate over token_columns (the partition-key
columns, in declared order). column is a human-readable label
("token(a, b)") used only for diagnostics; evaluation never reads a
stored column with that name — it hashes the row key instead.
Trait Implementations§
Source§impl Clone for SSTablePredicate
impl Clone for SSTablePredicate
Source§fn clone(&self) -> SSTablePredicate
fn clone(&self) -> SSTablePredicate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more