Batch-compute Murmur3 hash codes for all rows. Returns one `i32` per row, identical to calling `BinaryRow::from_arrow(batch, row_idx, field_indices, fields).hash_code()` for each row, but with O(F) column downcasts instead of O(N*F).
(
batch: &RecordBatch,
field_indices: &[usize],
fields: &[crate::spec::DataField],
)
| 1141 | /// `BinaryRow::from_arrow(batch, row_idx, field_indices, fields).hash_code()` |
| 1142 | /// for each row, but with O(F) column downcasts instead of O(N*F). |
| 1143 | pub fn batch_hash_codes( |
| 1144 | batch: &RecordBatch, |
| 1145 | field_indices: &[usize], |
| 1146 | fields: &[crate::spec::DataField], |
| 1147 | ) -> crate::Result<Vec<i32>> { |
| 1148 | let rows = batch_build_binary_rows(batch, field_indices, fields)?; |
| 1149 | Ok(rows.into_iter().map(|r| r.hash_code()).collect()) |
| 1150 | } |
| 1151 | |
| 1152 | #[cfg(test)] |
| 1153 | mod tests { |
no test coverage detected