pub struct ExternalHashJoin { /* private fields */ }Expand description
External Hash Join operator
Implementations§
Source§impl ExternalHashJoin
impl ExternalHashJoin
Sourcepub fn new(
controller: Arc<MemoryController>,
config: ExternalHashJoinConfig,
build_key_indices: Vec<usize>,
probe_key_indices: Vec<usize>,
join_type: JoinType,
) -> Self
pub fn new( controller: Arc<MemoryController>, config: ExternalHashJoinConfig, build_key_indices: Vec<usize>, probe_key_indices: Vec<usize>, join_type: JoinType, ) -> Self
Create a new external hash join
Sourcepub fn add_build_row(&mut self, row: &[SqlValue]) -> Result<()>
pub fn add_build_row(&mut self, row: &[SqlValue]) -> Result<()>
Add a row to the build side
Sourcepub fn add_probe_row(&mut self, row: &[SqlValue]) -> Result<()>
pub fn add_probe_row(&mut self, row: &[SqlValue]) -> Result<()>
Add a row to the probe side
Sourcepub fn num_spilled_build_partitions(&self) -> usize
pub fn num_spilled_build_partitions(&self) -> usize
Get number of spilled build partitions
Sourcepub fn num_spilled_probe_partitions(&self) -> usize
pub fn num_spilled_probe_partitions(&self) -> usize
Get number of spilled probe partitions
Sourcepub fn finish(self) -> Result<HashJoinResultIterator>
pub fn finish(self) -> Result<HashJoinResultIterator>
Execute the join and return results
Auto Trait Implementations§
impl Freeze for ExternalHashJoin
impl RefUnwindSafe for ExternalHashJoin
impl Send for ExternalHashJoin
impl Sync for ExternalHashJoin
impl Unpin for ExternalHashJoin
impl UnwindSafe for ExternalHashJoin
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> 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