pub struct MergeEntry {
pub run_index: usize,
pub key: DecoratedKey,
pub clustering_key: Option<ClusteringKey>,
pub timestamp: i64,
pub row_data: RowData,
}Expand description
Entry in the merge stream
Represents a single row from one of the input SSTables. This is the fundamental unit that flows through the merge heap.
Fields§
§run_index: usizeWhich SSTable this came from (0 = newest)
key: DecoratedKeyPartition key with token
clustering_key: Option<ClusteringKey>Clustering key (None for tables without clustering)
timestamp: i64Timestamp in microseconds since Unix epoch
row_data: RowDataRow data (live cells or tombstone)
Implementations§
Source§impl MergeEntry
impl MergeEntry
Sourcepub fn new(
run_index: usize,
key: DecoratedKey,
clustering_key: Option<ClusteringKey>,
timestamp: i64,
row_data: RowData,
) -> Self
pub fn new( run_index: usize, key: DecoratedKey, clustering_key: Option<ClusteringKey>, timestamp: i64, row_data: RowData, ) -> Self
Create a new merge entry
Trait Implementations§
Source§impl Clone for MergeEntry
impl Clone for MergeEntry
Source§fn clone(&self) -> MergeEntry
fn clone(&self) -> MergeEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MergeEntry
impl Debug for MergeEntry
impl Eq for MergeEntry
Source§impl Ord for MergeEntry
Available on crate feature write-support only.Ord implementation for min-heap routing ONLY (not LWW winner selection).
impl Ord for MergeEntry
Available on crate feature
write-support only.Ord implementation for min-heap routing ONLY (not LWW winner selection).
This orders entries so the heap yields them grouped by partition and
clustering key. The actual equal-timestamp Delete-vs-Live winner is chosen
in merge_partition_rows (timestamp → liveness → run_index), NOT here.
Order by:
- Token (ascending)
- Key bytes (ascending, for hash collisions)
- Clustering key (ascending, schema-aware)
- Run index (ascending) - stable routing tiebreak only
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for MergeEntry
impl PartialEq for MergeEntry
Source§fn eq(&self, other: &MergeEntry) -> bool
fn eq(&self, other: &MergeEntry) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for MergeEntry
Available on crate feature write-support only.
impl PartialOrd for MergeEntry
Available on crate feature
write-support only.impl StructuralPartialEq for MergeEntry
Auto Trait Implementations§
impl Freeze for MergeEntry
impl RefUnwindSafe for MergeEntry
impl Send for MergeEntry
impl Sync for MergeEntry
impl Unpin for MergeEntry
impl UnsafeUnpin for MergeEntry
impl UnwindSafe for MergeEntry
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.