Skip to content

Commit db65772

Browse files
XiangpengHaoalamb
andauthored
Add ArrowBytesViewMap and ArrowBytesViewSet (#11515)
* Update `string-view` branch to arrow-rs main (#10966) * Pin to arrow main * Fix clippy with latest arrow * Uncomment test that needs new arrow-rs to work * Update datafusion-cli Cargo.lock * Update Cargo.lock * tapelo * merge * update cast * consistent dep * fix ci * add more tests * make doc happy * update new implementation * fix bug * avoid unused dep * update dep * update * fix cargo check * update doc * pick up the comments change again --------- Co-authored-by: Andrew Lamb <[email protected]>
1 parent 8e0ca1a commit db65772

File tree

3 files changed

+691
-7
lines changed

3 files changed

+691
-7
lines changed

datafusion/common/src/hash_utils.rs

+5-7
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ use arrow_buffer::IntervalDayTime;
2828
use arrow_buffer::IntervalMonthDayNano;
2929

3030
use crate::cast::{
31-
as_boolean_array, as_fixed_size_list_array, as_generic_binary_array,
32-
as_large_list_array, as_list_array, as_primitive_array, as_string_array,
33-
as_struct_array,
31+
as_binary_view_array, as_boolean_array, as_fixed_size_list_array,
32+
as_generic_binary_array, as_large_list_array, as_list_array, as_primitive_array,
33+
as_string_array, as_string_view_array, as_struct_array,
3434
};
3535
use crate::error::{Result, _internal_err};
3636

@@ -360,8 +360,6 @@ pub fn create_hashes<'a>(
360360
random_state: &RandomState,
361361
hashes_buffer: &'a mut Vec<u64>,
362362
) -> Result<&'a mut Vec<u64>> {
363-
use crate::cast::{as_binary_view_array, as_string_view_array};
364-
365363
for (i, col) in arrays.iter().enumerate() {
366364
let array = col.as_ref();
367365
// combine hashes with `combine_hashes` for all columns besides the first
@@ -371,11 +369,11 @@ pub fn create_hashes<'a>(
371369
DataType::Null => hash_null(random_state, hashes_buffer, rehash),
372370
DataType::Boolean => hash_array(as_boolean_array(array)?, random_state, hashes_buffer, rehash),
373371
DataType::Utf8 => hash_array(as_string_array(array)?, random_state, hashes_buffer, rehash),
374-
DataType::LargeUtf8 => hash_array(as_largestring_array(array), random_state, hashes_buffer, rehash),
375372
DataType::Utf8View => hash_array(as_string_view_array(array)?, random_state, hashes_buffer, rehash),
373+
DataType::LargeUtf8 => hash_array(as_largestring_array(array), random_state, hashes_buffer, rehash),
376374
DataType::Binary => hash_array(as_generic_binary_array::<i32>(array)?, random_state, hashes_buffer, rehash),
377-
DataType::LargeBinary => hash_array(as_generic_binary_array::<i64>(array)?, random_state, hashes_buffer, rehash),
378375
DataType::BinaryView => hash_array(as_binary_view_array(array)?, random_state, hashes_buffer, rehash),
376+
DataType::LargeBinary => hash_array(as_generic_binary_array::<i64>(array)?, random_state, hashes_buffer, rehash),
379377
DataType::FixedSizeBinary(_) => {
380378
let array: &FixedSizeBinaryArray = array.as_any().downcast_ref().unwrap();
381379
hash_array(array, random_state, hashes_buffer, rehash)

0 commit comments

Comments
 (0)