Skip to main content

MaybeBucketByTime

Trait MaybeBucketByTime 

Source
pub trait MaybeBucketByTime: Timestamp {
    // Required method
    fn maybe_apply_temporal_bucketing<'scope>(
        stream: StreamVec<'scope, Self, (Row, Self, Diff)>,
        as_of: Antichain<Timestamp>,
        summary: Timestamp,
    ) -> VecCollection<'scope, Self, Row, Diff>;
}
Expand description

Apply temporal bucketing to a stream when the timestamp type supports it.

Sibling to RenderTimestamp: bucketing is an arrangement-time concern, not a general property of a render timestamp, so the dispatch lives in its own trait. Total-ordered timestamps perform real bucketing; partially-ordered timestamps (e.g. Product<…> in iterative scopes) implement this as a no-op.

Required Methods§

Source

fn maybe_apply_temporal_bucketing<'scope>( stream: StreamVec<'scope, Self, (Row, Self, Diff)>, as_of: Antichain<Timestamp>, summary: Timestamp, ) -> VecCollection<'scope, Self, Row, Diff>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl MaybeBucketByTime for Timestamp

Source§

fn maybe_apply_temporal_bucketing<'scope>( stream: StreamVec<'scope, Self, (Row, Self, Diff)>, as_of: Antichain<Timestamp>, summary: Timestamp, ) -> VecCollection<'scope, Self, Row, Diff>

Source§

impl MaybeBucketByTime for Product<Timestamp, PointStamp<u64>>

Source§

fn maybe_apply_temporal_bucketing<'scope>( stream: StreamVec<'scope, Self, (Row, Self, Diff)>, _as_of: Antichain<Timestamp>, _summary: Timestamp, ) -> VecCollection<'scope, Self, Row, Diff>

Implementors§