mirror of
https://github.com/milvus-io/milvus.git
synced 2026-07-21 10:15:43 +00:00
fix: [cp2.5.13] fail to get string views due to chunk bound empty loop (#49266)
Cherry-pick of #43483 (backport of #41452, related: #41300) from `hotfix-2.5.15` to `hotfix-2.5.13`. ## Summary - Fix failure to get string views caused by empty loop at chunk bound. - Single-file change in `internal/core/src/exec/expression/Expr.h` (+4/-2); clean cherry-pick, no conflicts. ## Test plan - [ ] CI green on `hotfix-2.5.13` Signed-off-by: MrPresent-Han <chun.han@gmail.com> Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com> Co-authored-by: Chun Han <116052805+MrPresent-Han@users.noreply.github.com> Co-authored-by: MrPresent-Han <chun.han@gmail.com>
This commit is contained in:
co-authored by
Chun Han
MrPresent-Han
parent
322b2b4e18
commit
9c2afdbc38
@@ -698,8 +698,9 @@ class SegmentExpr : public Expr {
|
||||
|
||||
// if segment is chunked, type won't be growing
|
||||
int64_t size = segment_->chunk_size(field_id_, i) - data_pos;
|
||||
|
||||
size = std::min(size, batch_size_ - processed_size);
|
||||
if (size == 0)
|
||||
continue; //do not go empty-loop at the bound of the chunk
|
||||
|
||||
auto& skip_index = segment_->GetSkipIndex();
|
||||
if (!skip_func || !skip_func(skip_index, field_id_, i)) {
|
||||
@@ -1032,7 +1033,8 @@ class SegmentExpr : public Expr {
|
||||
}
|
||||
|
||||
size = std::min(size, batch_size_ - processed_size);
|
||||
|
||||
if (size == 0)
|
||||
continue; //do not go empty-loop at the bound of the chunk
|
||||
bool access_sealed_variable_column = false;
|
||||
if constexpr (std::is_same_v<T, std::string_view> ||
|
||||
std::is_same_v<T, Json> ||
|
||||
|
||||
Reference in New Issue
Block a user