build_row_join_batch

Function build_row_join_batch 

Source
fn build_row_join_batch(
    output_schema: &Schema,
    build_side_batch: &RecordBatch,
    build_side_index: usize,
    probe_side_batch: &RecordBatch,
    probe_side_filter: Option<BooleanArray>,
    col_indices: &[ColumnIndex],
    build_side: JoinSide,
) -> Result<Option<RecordBatch>>
Expand description

This function performs the following steps:

  1. Apply filter to probe-side batch
  2. Broadcast the left row (build_side_batch[build_side_index]) to the filtered probe-side batch
  3. Concat them together according to col_indices, and return the result (None if the result is empty)

§Example: build_side_batch: a

1 2 3

§0 index element in the build_side_batch (that is 1) will be used

build_side_index: 0

§probe_side_batch: b

10 20 30 40

§After applying it, only index 1 and 3 elements in probe_side_batch will be

§kept

probe_side_filter: false true false true

§Projections to the build/probe side batch, to construct the output batch

col_indices: [(left, 0), (right, 0)]

build_side: left

§==== Result batch: a b

1 20 1 40