diff --git a/internal/core/src/exec/expression/TermExpr.cpp b/internal/core/src/exec/expression/TermExpr.cpp index 1fbba04242..9ac2862a3f 100644 --- a/internal/core/src/exec/expression/TermExpr.cpp +++ b/internal/core/src/exec/expression/TermExpr.cpp @@ -315,6 +315,7 @@ PhyTermFilterExpr::ExecTermArrayFieldInVariable() { if (term_set.empty()) { res.reset(); + MoveCursor(); return res_vec; } @@ -323,11 +324,6 @@ PhyTermFilterExpr::ExecTermArrayFieldInVariable() { TargetBitmapView res, int index, const std::unordered_set& term_set) { - if (term_set.empty()) { - for (int i = 0; i < size; ++i) { - res[i] = false; - } - } for (int i = 0; i < size; ++i) { if (index >= data[i].length()) { res[i] = false; @@ -425,9 +421,8 @@ PhyTermFilterExpr::ExecTermJsonFieldInVariable() { } if (term_set.empty()) { - for (size_t i = 0; i < real_batch_size; ++i) { - res[i] = false; - } + res.reset(); + MoveCursor(); return res_vec; }