pub struct MergeJoinOperator { /* private fields */ }Expand description
Merge Join Operator for pre-sorted inputs.
Both inputs must be sorted on their respective join keys. The operator performs a single pass through both inputs, producing matches as they’re found.
Implementations§
Source§impl MergeJoinOperator
impl MergeJoinOperator
Sourcepub fn new(
left: Box<dyn Operator>,
right: Box<dyn Operator>,
join_type: JoinType,
left_key_indices: Vec<usize>,
right_key_indices: Vec<usize>,
) -> Self
pub fn new( left: Box<dyn Operator>, right: Box<dyn Operator>, join_type: JoinType, left_key_indices: Vec<usize>, right_key_indices: Vec<usize>, ) -> Self
Create a new merge join operator.
§Arguments
left- Left input operator (must be sorted on left_key_indices)right- Right input operator (must be sorted on right_key_indices)join_type- Type of join (INNER, LEFT, RIGHT, FULL - NOT Cross)left_key_indices- Column indices for left join keysright_key_indices- Column indices for right join keys
§Panics
Debug builds will panic if join_type is JoinType::Cross.
Cross joins should use NestedLoopJoinOperator instead.
Trait Implementations§
Source§impl Operator for MergeJoinOperator
impl Operator for MergeJoinOperator
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 MergeJoinOperator
impl !Sync for MergeJoinOperator
impl !UnwindSafe for MergeJoinOperator
impl Freeze for MergeJoinOperator
impl Send for MergeJoinOperator
impl Unpin for MergeJoinOperator
impl UnsafeUnpin for MergeJoinOperator
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