fn lookup_join_hashmap(
build_hashmap: &PruningJoinHashMap,
build_batch: &RecordBatch,
probe_batch: &RecordBatch,
build_on: &[PhysicalExprRef],
probe_on: &[PhysicalExprRef],
random_state: &RandomState,
null_equality: NullEquality,
hashes_buffer: &mut Vec<u64>,
deleted_offset: Option<usize>,
) -> Result<(UInt64Array, UInt32Array)>Expand description
This method performs lookups against JoinHashMap by hash values of join-key columns, and handles potential hash collisions.
§Arguments
build_hashmap- hashmap collected from build side data.build_batch- Build side record batch.probe_batch- Probe side record batch.build_on- An array of columns on which the join will be performed. The columns are from the build side of the join.probe_on- An array of columns on which the join will be performed. The columns are from the probe side of the join.random_state- The random state for the join.null_equality- Indicates whether NULL values should be treated as equal when joining.hashes_buffer- Buffer used for probe side keys hash calculation.deleted_offset- deleted offset for build side data.
§Returns
A Result containing a tuple with two equal length arrays, representing indices of rows from build and probe side, matched by join key columns.