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:
- Apply filter to probe-side batch
- Broadcast the left row (build_side_batch[build_side_index]) to the filtered probe-side batch
- 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