This is an automated email from the ASF dual-hosted git repository. richox pushed a commit to branch dev-common-prefix-len in repository https://gitbox.apache.org/repos/asf/auron.git
commit f20966335866c02940b9b0803fe79abfb08fb763 Author: zhangli20 <[email protected]> AuthorDate: Sun Sep 21 23:20:13 2025 +0800 fix incorrect common_prefix_len() --- native-engine/datafusion-ext-plans/src/sort_exec.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/native-engine/datafusion-ext-plans/src/sort_exec.rs b/native-engine/datafusion-ext-plans/src/sort_exec.rs index c616c25b..2a201cdf 100644 --- a/native-engine/datafusion-ext-plans/src/sort_exec.rs +++ b/native-engine/datafusion-ext-plans/src/sort_exec.rs @@ -1393,12 +1393,12 @@ fn common_prefix_len(a: &[u8], b: &[u8]) -> usize { }}; } - while lcp + 8 < min_len && pread!(a, lcp, 8) == pread!(b, lcp, 8) { + while lcp + 8 <= min_len && pread!(a, lcp, 8) == pread!(b, lcp, 8) { lcp += 8; } - lcp += (lcp + 4 < min_len && pread!(a, lcp, 4) == pread!(b, lcp, 4)) as usize * 4; - lcp += (lcp + 2 < min_len && pread!(a, lcp, 2) == pread!(b, lcp, 2)) as usize * 2; - lcp += (lcp + 1 < min_len && pread!(a, lcp, 1) == pread!(b, lcp, 1)) as usize; + lcp += (lcp + 4 <= min_len && pread!(a, lcp, 4) == pread!(b, lcp, 4)) as usize * 4; + lcp += (lcp + 2 <= min_len && pread!(a, lcp, 2) == pread!(b, lcp, 2)) as usize * 2; + lcp += (lcp + 1 <= min_len && pread!(a, lcp, 1) == pread!(b, lcp, 1)) as usize; lcp }
