pub(super) enum HashJoinStreamState {
WaitBuildSide,
WaitPartitionBoundsReport,
FetchProbeBatch,
ProcessProbeBatch(ProcessProbeBatchState),
ExhaustedProbeSide,
Completed,
}Expand description
Represents state of HashJoinStream
Expected state transitions performed by HashJoinStream are:
WaitBuildSide
│
▼
┌─► FetchProbeBatch ───► ExhaustedProbeSide ───► Completed
│ │
│ ▼
└─ ProcessProbeBatchVariants§
WaitBuildSide
Initial state for HashJoinStream indicating that build-side data not collected yet
WaitPartitionBoundsReport
Waiting for bounds to be reported by all partitions
FetchProbeBatch
Indicates that build-side has been collected, and stream is ready for fetching probe-side
ProcessProbeBatch(ProcessProbeBatchState)
Indicates that non-empty batch has been fetched from probe-side, and is ready to be processed
ExhaustedProbeSide
Indicates that probe-side has been fully processed
Completed
Indicates that HashJoinStream execution is completed
Implementations§
Source§impl HashJoinStreamState
impl HashJoinStreamState
Sourcefn try_as_process_probe_batch_mut(
&mut self,
) -> Result<&mut ProcessProbeBatchState>
fn try_as_process_probe_batch_mut( &mut self, ) -> Result<&mut ProcessProbeBatchState>
Tries to extract ProcessProbeBatchState from HashJoinStreamState enum. Returns an error if state is not ProcessProbeBatchState.
Trait Implementations§
Source§impl Clone for HashJoinStreamState
impl Clone for HashJoinStreamState
Source§fn clone(&self) -> HashJoinStreamState
fn clone(&self) -> HashJoinStreamState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HashJoinStreamState
impl !RefUnwindSafe for HashJoinStreamState
impl Send for HashJoinStreamState
impl Sync for HashJoinStreamState
impl Unpin for HashJoinStreamState
impl !UnwindSafe for HashJoinStreamState
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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