pub struct TemporalJoinOperator { /* private fields */ }Expand description
Temporal join operator.
Performs point-in-time lookups against a versioned table. Supports both append-only tables (optimized, no stream-side state) and non-append-only tables (with retraction support).
Implementations§
Source§impl TemporalJoinOperator
impl TemporalJoinOperator
Sourcepub fn new(config: TemporalJoinConfig) -> Self
pub fn new(config: TemporalJoinConfig) -> Self
Creates a new temporal join operator.
Sourcepub fn with_id(config: TemporalJoinConfig, operator_id: String) -> Self
pub fn with_id(config: TemporalJoinConfig, operator_id: String) -> Self
Creates a new temporal join operator with explicit ID.
Sourcepub fn config(&self) -> &TemporalJoinConfig
pub fn config(&self) -> &TemporalJoinConfig
Returns the configuration.
Sourcepub fn metrics(&self) -> &TemporalJoinMetrics
pub fn metrics(&self) -> &TemporalJoinMetrics
Returns the metrics.
Sourcepub fn reset_metrics(&mut self)
pub fn reset_metrics(&mut self)
Resets the metrics.
Sourcepub fn table_state_size(&self) -> usize
pub fn table_state_size(&self) -> usize
Returns the total number of table rows in state.
Sourcepub fn stream_state_size(&self) -> usize
pub fn stream_state_size(&self) -> usize
Returns the total number of tracked stream events (non-append-only only).
Sourcepub fn process_stream(
&mut self,
event: &Event,
ctx: &mut OperatorContext<'_>,
) -> OutputVec
pub fn process_stream( &mut self, event: &Event, ctx: &mut OperatorContext<'_>, ) -> OutputVec
Processes a stream event (probe side).
Sourcepub fn process_table_insert(
&mut self,
event: &Event,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
pub fn process_table_insert( &mut self, event: &Event, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Processes a table insert (append-only or non-append-only).
Sourcepub fn process_table_change(
&mut self,
change: &TableChange,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
pub fn process_table_change( &mut self, change: &TableChange, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Processes a table change (non-append-only tables). Returns retractions and new join results for affected stream events.
Sourcepub fn on_watermark(
&mut self,
watermark: i64,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
pub fn on_watermark( &mut self, watermark: i64, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Handles watermark updates and triggers cleanup.
Trait Implementations§
Source§impl Operator for TemporalJoinOperator
impl Operator for TemporalJoinOperator
Source§fn process(&mut self, event: &Event, ctx: &mut OperatorContext<'_>) -> OutputVec
fn process(&mut self, event: &Event, ctx: &mut OperatorContext<'_>) -> OutputVec
Process an incoming event
Source§fn on_timer(
&mut self,
timer: Timer,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
fn on_timer( &mut self, timer: Timer, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Handle timer expiration
Source§fn checkpoint(&self) -> OperatorState
fn checkpoint(&self) -> OperatorState
Checkpoint the operator’s state
Source§fn restore(&mut self, state: OperatorState) -> Result<(), OperatorError>
fn restore(&mut self, state: OperatorState) -> Result<(), OperatorError>
Restore from a checkpoint Read more
Auto Trait Implementations§
impl Freeze for TemporalJoinOperator
impl RefUnwindSafe for TemporalJoinOperator
impl Send for TemporalJoinOperator
impl Sync for TemporalJoinOperator
impl Unpin for TemporalJoinOperator
impl UnsafeUnpin for TemporalJoinOperator
impl UnwindSafe for TemporalJoinOperator
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.