MCPcopy Create free account
hub / github.com/apache/datafusion / partial_cmp_map

Function partial_cmp_map

datafusion/common/src/scalar/mod.rs:882–908  ·  view source on GitHub ↗
(m1: &Arc<MapArray>, m2: &Arc<MapArray>)

Source from the content-addressed store, hash-verified

880}
881
882fn partial_cmp_map(m1: &Arc<MapArray>, m2: &Arc<MapArray>) -> Option<Ordering> {
883 if m1.len() != m2.len() {
884 return None;
885 }
886
887 if m1.data_type() != m2.data_type() {
888 return None;
889 }
890
891 for col_index in 0..m1.len() {
892 let arr1 = m1.entries().column(col_index);
893 let arr2 = m2.entries().column(col_index);
894
895 let lt_res = arrow::compute::kernels::cmp::lt(arr1, arr2).ok()?;
896 let eq_res = arrow::compute::kernels::cmp::eq(arr1, arr2).ok()?;
897
898 for j in 0..lt_res.len() {
899 if lt_res.is_valid(j) && lt_res.value(j) {
900 return Some(Ordering::Less);
901 }
902 if eq_res.is_valid(j) && !eq_res.value(j) {
903 return Some(Ordering::Greater);
904 }
905 }
906 }
907 Some(Ordering::Equal)
908}
909
910impl Eq for ScalarValue {}
911

Callers 1

partial_cmpMethod · 0.85

Calls 7

eqFunction · 0.85
columnMethod · 0.80
lenMethod · 0.45
data_typeMethod · 0.45
entriesMethod · 0.45
is_validMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…