pub struct LeapfrogJoinOperator { /* private fields */ }Expand description
Leapfrog TrieJoin operator for worst-case optimal multi-way joins.
Uses the leapfrog algorithm to efficiently find intersections across multiple sorted inputs without materializing intermediate Cartesian products.
Implementations§
Source§impl LeapfrogJoinOperator
impl LeapfrogJoinOperator
Sourcepub fn new(
inputs: Vec<Box<dyn Operator>>,
join_key_indices: Vec<Vec<usize>>,
output_schema: Vec<LogicalType>,
output_column_mapping: Vec<(usize, usize)>,
) -> Self
pub fn new( inputs: Vec<Box<dyn Operator>>, join_key_indices: Vec<Vec<usize>>, output_schema: Vec<LogicalType>, output_column_mapping: Vec<(usize, usize)>, ) -> Self
Creates a new leapfrog join operator.
§Arguments
inputs- Input operators (one per relation).join_key_indices- Column indices for join keys in each input.output_schema- Schema of the output columns.output_column_mapping- Maps output columns to (input_idx, column_idx).
Trait Implementations§
Source§impl Operator for LeapfrogJoinOperator
impl Operator for LeapfrogJoinOperator
Auto Trait Implementations§
impl Freeze for LeapfrogJoinOperator
impl !RefUnwindSafe for LeapfrogJoinOperator
impl Send for LeapfrogJoinOperator
impl Sync for LeapfrogJoinOperator
impl Unpin for LeapfrogJoinOperator
impl !UnwindSafe for LeapfrogJoinOperator
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