pub struct BatchIndexNestedLoopJoinOperator { /* private fields */ }Expand description
Bounded batch Index-NL operator.
A fixed-size outer chunk is collected, lookup keys are deduplicated, and matching inner rows are fetched once for the whole chunk. Results remain streamed in outer-row order; the operator never retains the complete outer input or complete join output.
Implementations§
Source§impl BatchIndexNestedLoopJoinOperator
impl BatchIndexNestedLoopJoinOperator
Sourcepub fn new(
outer: Box<dyn Operator>,
inner_table: Box<dyn Table>,
inner_schema: Vec<ColumnInfo>,
join_type: JoinType,
outer_key_idx: usize,
lookup_strategy: IndexLookupStrategy,
residual_filter: Option<JoinFilter>,
) -> Self
pub fn new( outer: Box<dyn Operator>, inner_table: Box<dyn Table>, inner_schema: Vec<ColumnInfo>, join_type: JoinType, outer_key_idx: usize, lookup_strategy: IndexLookupStrategy, residual_filter: Option<JoinFilter>, ) -> Self
Create a new batch index nested loop join operator.
pub fn with_cancellation(self, cancellation: CancellationHandle) -> Self
Sourcepub fn with_projection(
self,
columns: Vec<ColumnSource>,
projected_schema: Vec<ColumnInfo>,
) -> Self
pub fn with_projection( self, columns: Vec<ColumnSource>, projected_schema: Vec<ColumnInfo>, ) -> Self
Set projection pushdown configuration.
When set, the operator creates projected rows directly during the combine step instead of creating full combined rows. This avoids creating large intermediate rows that would be immediately projected down to fewer columns.
§Arguments
columns- Column sources in SELECT order (preserves original column ordering)projected_schema- Schema for the projected output
Trait Implementations§
Source§impl Operator for BatchIndexNestedLoopJoinOperator
impl Operator for BatchIndexNestedLoopJoinOperator
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 BatchIndexNestedLoopJoinOperator
impl !Sync for BatchIndexNestedLoopJoinOperator
impl !UnwindSafe for BatchIndexNestedLoopJoinOperator
impl Freeze for BatchIndexNestedLoopJoinOperator
impl Send for BatchIndexNestedLoopJoinOperator
impl Unpin for BatchIndexNestedLoopJoinOperator
impl UnsafeUnpin for BatchIndexNestedLoopJoinOperator
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