pub type FlatKeyValBatch<K, V, T, R> = OrdValBatch<MzFlatLayout<K, V, T, R>>;
Aliased Type§
struct FlatKeyValBatch<K, V, T, R> {
pub storage: OrdValStorage<MzFlatLayout<K, V, T, R>>,
pub description: Description<<<MzFlatLayout<K, V, T, R> as Layout>::Target as Update>::Time>,
pub updates: usize,
}
Fields§
§storage: OrdValStorage<MzFlatLayout<K, V, T, R>>
The updates themselves.
description: Description<<<MzFlatLayout<K, V, T, R> as Layout>::Target as Update>::Time>
Description of the update times this layer represents.
updates: usize
The number of updates reflected in the batch.
We track this separately from storage
because due to the singleton optimization,
we may have many more updates than storage.updates.len()
. It should equal that
length, plus the number of singleton optimizations employed.
Trait Implementations
Source§impl<L> Batch for OrdValBatch<L>where
L: Layout,
impl<L> Batch for OrdValBatch<L>where
L: Layout,
Source§type Merger = OrdValMerger<L>
type Merger = OrdValMerger<L>
A type used to progressively merge batches.
Source§fn begin_merge(
&self,
other: &OrdValBatch<L>,
compaction_frontier: AntichainRef<'_, <<L as Layout>::Target as Update>::Time>,
) -> <OrdValBatch<L> as Batch>::Merger
fn begin_merge( &self, other: &OrdValBatch<L>, compaction_frontier: AntichainRef<'_, <<L as Layout>::Target as Update>::Time>, ) -> <OrdValBatch<L> as Batch>::Merger
Initiates the merging of consecutive batches. Read more
Source§fn empty(
lower: Antichain<<OrdValBatch<L> as BatchReader>::Time>,
upper: Antichain<<OrdValBatch<L> as BatchReader>::Time>,
) -> OrdValBatch<L>
fn empty( lower: Antichain<<OrdValBatch<L> as BatchReader>::Time>, upper: Antichain<<OrdValBatch<L> as BatchReader>::Time>, ) -> OrdValBatch<L>
Produce an empty batch over the indicated interval.
Source§impl<L> BatchReader for OrdValBatch<L>where
L: Layout,
impl<L> BatchReader for OrdValBatch<L>where
L: Layout,
Source§type Key<'a> = <<L as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
type Key<'a> = <<L as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
Key by which updates are indexed.
Source§type Val<'a> = <<L as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
type Val<'a> = <<L as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
Values associated with keys.
Source§type TimeGat<'a> = <<L as Layout>::TimeContainer as BatchContainer>::ReadItem<'a>
type TimeGat<'a> = <<L as Layout>::TimeContainer as BatchContainer>::ReadItem<'a>
Borrowed form of timestamp.
Source§type DiffGat<'a> = <<L as Layout>::DiffContainer as BatchContainer>::ReadItem<'a>
type DiffGat<'a> = <<L as Layout>::DiffContainer as BatchContainer>::ReadItem<'a>
Borrowed form of update difference.
Source§type Cursor = OrdValCursor<L>
type Cursor = OrdValCursor<L>
The type used to enumerate the batch’s contents.
Source§fn cursor(&self) -> <OrdValBatch<L> as BatchReader>::Cursor
fn cursor(&self) -> <OrdValBatch<L> as BatchReader>::Cursor
Acquires a cursor to the batch’s contents.
Source§fn description(&self) -> &Description<<<L as Layout>::Target as Update>::Time>
fn description(&self) -> &Description<<<L as Layout>::Target as Update>::Time>
Describes the times of the updates in the batch.
Source§impl<'de, L> Deserialize<'de> for OrdValBatch<L>where
L: Layout,
<L as Layout>::KeyContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::ValContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::TimeContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::DiffContainer: Serialize + for<'a> Deserialize<'a>,
impl<'de, L> Deserialize<'de> for OrdValBatch<L>where
L: Layout,
<L as Layout>::KeyContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::ValContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::TimeContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::DiffContainer: Serialize + for<'a> Deserialize<'a>,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OrdValBatch<L>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OrdValBatch<L>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<L> Serialize for OrdValBatch<L>where
L: Layout,
<L as Layout>::KeyContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::ValContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::TimeContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::DiffContainer: Serialize + for<'a> Deserialize<'a>,
impl<L> Serialize for OrdValBatch<L>where
L: Layout,
<L as Layout>::KeyContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::ValContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::TimeContainer: Serialize + for<'a> Deserialize<'a>,
<L as Layout>::DiffContainer: Serialize + for<'a> Deserialize<'a>,
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more