This is an automated email from the ASF dual-hosted git repository.
Rachelint pushed a commit to branch improve-compare-in-view-map-v2
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/improve-compare-in-view-map-v2
by this push:
new 65f2cac95f test.
65f2cac95f is described below
commit 65f2cac95fd5521fdd6689b44078dd68431a0e7b
Author: kamille <[email protected]>
AuthorDate: Fri Jul 10 11:56:21 2026 +0800
test.
---
.../physical-expr-common/src/binary_view_map.rs | 29 +++-------------------
1 file changed, 3 insertions(+), 26 deletions(-)
diff --git a/datafusion/physical-expr-common/src/binary_view_map.rs
b/datafusion/physical-expr-common/src/binary_view_map.rs
index 0e88656eec..dc10df7e8f 100644
--- a/datafusion/physical-expr-common/src/binary_view_map.rs
+++ b/datafusion/physical-expr-common/src/binary_view_map.rs
@@ -305,49 +305,26 @@ where
let len = view_u128 as u32;
let maybe_payload = {
- let completed = &self.completed;
- let in_progress = &self.in_progress;
- let input_buffers = values.data_buffers();
-
self.map
.find(hash, |header| {
if header.hash != hash {
return false;
}
- let group_index = header.payload.group_index();
- let stored_view = self.views[group_index];
+ let stored_view =
self.views[header.payload.group_index()];
if len <= 12 {
return stored_view == view_u128;
}
- if group_index >= current_group_num && stored_view ==
view_u128 {
- return true;
- }
-
let stored_prefix = (stored_view >> 32) as u32;
let input_prefix = (view_u128 >> 32) as u32;
if stored_prefix != input_prefix {
return false;
}
- let byte_view = ByteView::from(stored_view);
- let stored_len = byte_view.length as usize;
- let buffer_index = byte_view.buffer_index as usize;
- let offset = byte_view.offset as usize;
-
- let stored_value = if group_index >= current_group_num
{
- &input_buffers[buffer_index].as_slice()
- [offset..offset + stored_len]
- } else if buffer_index < completed.len() {
- &completed[buffer_index].as_slice()
- [offset..offset + stored_len]
- } else {
- &in_progress[offset..offset + stored_len]
- };
- let input_value: &[u8] = values.value(i).as_ref();
- stored_value == input_value
+ let stored_len = stored_view as u32;
+ stored_len == len
})
.map(|entry| entry.payload)
};
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]