From 48a308772fcc18fce890447b0bfa30611fc813e6 Mon Sep 17 00:00:00 2001 From: baishen Date: Mon, 30 May 2022 04:22:14 +0800 Subject: [PATCH] Fixed panic sort list array with different length (#1023) --- src/compute/sort/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compute/sort/mod.rs b/src/compute/sort/mod.rs index 125e4da5261..6f10f4bdb49 100644 --- a/src/compute/sort/mod.rs +++ b/src/compute/sort/mod.rs @@ -364,7 +364,7 @@ where /// Compare two `Array`s based on the ordering defined in [ord](crate::array::ord). fn cmp_array(a: &dyn Array, b: &dyn Array) -> Ordering { let cmp_op = ord::build_compare(a, b).unwrap(); - let length = a.len().max(b.len()); + let length = a.len().min(b.len()); for i in 0..length { let result = cmp_op(i, i); @@ -372,5 +372,5 @@ fn cmp_array(a: &dyn Array, b: &dyn Array) -> Ordering { return result; } } - Ordering::Equal + a.len().cmp(&b.len()) }