pub(crate) struct JoinLeftData {
batch: RecordBatch,
bitmap: Mutex<BooleanBufferBuilder>,
probe_threads_counter: AtomicUsize,
reservation: MemoryReservation,
}Expand description
Left (build-side) data
Fields§
§batch: RecordBatchBuild-side data collected to single batch
bitmap: Mutex<BooleanBufferBuilder>Shared bitmap builder for visited left indices
probe_threads_counter: AtomicUsizeCounter of running probe-threads, potentially able to update bitmap
reservation: MemoryReservationMemory reservation for tracking batch and bitmap
Cleared on JoinLeftData drop
reservation is cleared on Drop
Implementations§
Source§impl JoinLeftData
impl JoinLeftData
pub(crate) fn new( batch: RecordBatch, bitmap: Mutex<BooleanBufferBuilder>, probe_threads_counter: AtomicUsize, reservation: MemoryReservation, ) -> Self
pub(crate) fn batch(&self) -> &RecordBatch
pub(crate) fn bitmap(&self) -> &Mutex<BooleanBufferBuilder>
Sourcepub(crate) fn report_probe_completed(&self) -> bool
pub(crate) fn report_probe_completed(&self) -> bool
Decrements counter of running threads, and returns true
if caller is the last running thread
Auto Trait Implementations§
impl !Freeze for JoinLeftData
impl !RefUnwindSafe for JoinLeftData
impl Send for JoinLeftData
impl Sync for JoinLeftData
impl Unpin for JoinLeftData
impl !UnwindSafe for JoinLeftData
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
§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