pub struct ParallelHashJoinOperator { /* private fields */ }Expand description
Pull-based parallel hash join.
The build table is parallel and immutable. Probe work is admitted in a bounded batch, and each Rayon round advances every live probe cursor by at most one output match. The round therefore retains only O(batch rows) fixed-width candidate descriptors, never a full JOIN result or an unbounded per-key fan-out vector.
Implementations§
Source§impl ParallelHashJoinOperator
impl ParallelHashJoinOperator
pub fn new( probe: Box<dyn Operator>, build_rows: CompactArc<Vec<Row>>, build_key_indices: Vec<usize>, probe_key_indices: Vec<usize>, join_type: JoinType, build_is_left: bool, left_col_count: usize, right_col_count: usize, columns: Vec<String>, projection: Option<Vec<ColumnSource>>, config: ParallelConfig, cancellation: CancellationHandle, hash_state_bytes: usize, hash_state_reservation: JoinMemoryReservation, batch_reservation: JoinMemoryReservation, ) -> Result<Self>
pub fn observed_probe_rows(&self) -> u64
pub fn observed_candidate_rows(&self) -> u64
Trait Implementations§
Source§impl Operator for ParallelHashJoinOperator
impl Operator for ParallelHashJoinOperator
Source§fn schema(&self) -> &[ColumnInfo]
fn schema(&self) -> &[ColumnInfo]
Get the schema (column information) for this operator’s output.
Source§fn estimated_rows(&self) -> Option<usize>
fn estimated_rows(&self) -> Option<usize>
Get an estimate of the number of rows this operator will produce. Read more
Source§fn ordering(&self) -> OrderingProperty
fn ordering(&self) -> OrderingProperty
Physical ordering guaranteed by this operator’s output. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for ParallelHashJoinOperator
impl !Sync for ParallelHashJoinOperator
impl !UnwindSafe for ParallelHashJoinOperator
impl Freeze for ParallelHashJoinOperator
impl Send for ParallelHashJoinOperator
impl Unpin for ParallelHashJoinOperator
impl UnsafeUnpin for ParallelHashJoinOperator
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