(
lhs: &ArrayData,
rhs: &ArrayData,
lhs_start: usize,
rhs_start: usize,
len: usize,
)
| 60 | /// for `len` slots. |
| 61 | #[inline] |
| 62 | fn equal_values( |
| 63 | lhs: &ArrayData, |
| 64 | rhs: &ArrayData, |
| 65 | lhs_start: usize, |
| 66 | rhs_start: usize, |
| 67 | len: usize, |
| 68 | ) -> bool { |
| 69 | match lhs.data_type() { |
| 70 | DataType::Null => null_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 71 | DataType::Boolean => boolean_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 72 | DataType::UInt8 => primitive_equal::<u8>(lhs, rhs, lhs_start, rhs_start, len), |
| 73 | DataType::UInt16 => primitive_equal::<u16>(lhs, rhs, lhs_start, rhs_start, len), |
| 74 | DataType::UInt32 => primitive_equal::<u32>(lhs, rhs, lhs_start, rhs_start, len), |
| 75 | DataType::UInt64 => primitive_equal::<u64>(lhs, rhs, lhs_start, rhs_start, len), |
| 76 | DataType::Int8 => primitive_equal::<i8>(lhs, rhs, lhs_start, rhs_start, len), |
| 77 | DataType::Int16 => primitive_equal::<i16>(lhs, rhs, lhs_start, rhs_start, len), |
| 78 | DataType::Int32 => primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len), |
| 79 | DataType::Int64 => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 80 | DataType::Float32 => primitive_equal::<f32>(lhs, rhs, lhs_start, rhs_start, len), |
| 81 | DataType::Float64 => primitive_equal::<f64>(lhs, rhs, lhs_start, rhs_start, len), |
| 82 | DataType::Decimal32(_, _) => primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len), |
| 83 | DataType::Decimal64(_, _) => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 84 | DataType::Decimal128(_, _) => primitive_equal::<i128>(lhs, rhs, lhs_start, rhs_start, len), |
| 85 | DataType::Decimal256(_, _) => primitive_equal::<i256>(lhs, rhs, lhs_start, rhs_start, len), |
| 86 | DataType::Date32 | DataType::Time32(_) | DataType::Interval(IntervalUnit::YearMonth) => { |
| 87 | primitive_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len) |
| 88 | } |
| 89 | DataType::Date64 |
| 90 | | DataType::Interval(IntervalUnit::DayTime) |
| 91 | | DataType::Time64(_) |
| 92 | | DataType::Timestamp(_, _) |
| 93 | | DataType::Duration(_) => primitive_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 94 | DataType::Interval(IntervalUnit::MonthDayNano) => { |
| 95 | primitive_equal::<i128>(lhs, rhs, lhs_start, rhs_start, len) |
| 96 | } |
| 97 | DataType::Utf8 | DataType::Binary => { |
| 98 | variable_sized_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len) |
| 99 | } |
| 100 | DataType::LargeUtf8 | DataType::LargeBinary => { |
| 101 | variable_sized_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len) |
| 102 | } |
| 103 | DataType::FixedSizeBinary(_) => fixed_binary_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 104 | DataType::BinaryView | DataType::Utf8View => { |
| 105 | byte_view_equal(lhs, rhs, lhs_start, rhs_start, len) |
| 106 | } |
| 107 | DataType::List(_) => list_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len), |
| 108 | DataType::LargeList(_) => list_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 109 | DataType::ListView(_) => list_view_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len), |
| 110 | DataType::LargeListView(_) => list_view_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 111 | DataType::FixedSizeList(_, _) => fixed_list_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 112 | DataType::Struct(_) => struct_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 113 | DataType::Union(_, _) => union_equal(lhs, rhs, lhs_start, rhs_start, len), |
| 114 | DataType::Dictionary(data_type, _) => match data_type.as_ref() { |
| 115 | DataType::Int8 => dictionary_equal::<i8>(lhs, rhs, lhs_start, rhs_start, len), |
| 116 | DataType::Int16 => dictionary_equal::<i16>(lhs, rhs, lhs_start, rhs_start, len), |
| 117 | DataType::Int32 => dictionary_equal::<i32>(lhs, rhs, lhs_start, rhs_start, len), |
| 118 | DataType::Int64 => dictionary_equal::<i64>(lhs, rhs, lhs_start, rhs_start, len), |
| 119 | DataType::UInt8 => dictionary_equal::<u8>(lhs, rhs, lhs_start, rhs_start, len), |
no test coverage detected