diff --git a/be/src/olap/rowset/segment_v2/zone_map_index.cpp b/be/src/olap/rowset/segment_v2/zone_map_index.cpp index 9368862fff..75f0a9d845 100644 --- a/be/src/olap/rowset/segment_v2/zone_map_index.cpp +++ b/be/src/olap/rowset/segment_v2/zone_map_index.cpp @@ -91,10 +91,12 @@ template Status TypedZoneMapIndexWriter::flush() { // Update segment zone map. if (_field->compare(_segment_zone_map.min_value, _page_zone_map.min_value) > 0) { - _field->type_info()->direct_copy(_segment_zone_map.min_value, _page_zone_map.min_value); + _field->type_info()->direct_copy_may_cut(_segment_zone_map.min_value, + _page_zone_map.min_value); } if (_field->compare(_segment_zone_map.max_value, _page_zone_map.max_value) < 0) { - _field->type_info()->direct_copy(_segment_zone_map.max_value, _page_zone_map.max_value); + _field->type_info()->direct_copy_may_cut(_segment_zone_map.max_value, + _page_zone_map.max_value); } if (_page_zone_map.has_null) { _segment_zone_map.has_null = true;