diff --git a/native-sql-engine/cpp/src/codegen/arrow_compute/ext/actions_impl.cc b/native-sql-engine/cpp/src/codegen/arrow_compute/ext/actions_impl.cc index 4cd43d412..623cab3da 100644 --- a/native-sql-engine/cpp/src/codegen/arrow_compute/ext/actions_impl.cc +++ b/native-sql-engine/cpp/src/codegen/arrow_compute/ext/actions_impl.cc @@ -211,7 +211,7 @@ class UniqueAction : public ActionBase { arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (cache_validity_[dest_group_id] == false) { cache_validity_[dest_group_id] = true; @@ -222,7 +222,7 @@ class UniqueAction : public ActionBase { arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (cache_validity_[dest_group_id] == false) { cache_validity_[dest_group_id] = true; @@ -397,7 +397,7 @@ class CountAction : public ActionBase { arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; cache_[dest_group_id] += 1; @@ -406,7 +406,7 @@ class CountAction : public ActionBase { arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -553,7 +553,7 @@ class CountDistinctAction : public ActionBase { arrow::Status Evaluate(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; cache_[dest_group_id] += 1; return arrow::Status::OK(); @@ -561,7 +561,7 @@ class CountDistinctAction : public ActionBase { arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -677,7 +677,7 @@ class CountLiteralAction : public ActionBase { arrow::Status Evaluate(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; cache_[dest_group_id] += 1; return arrow::Status::OK(); @@ -685,7 +685,7 @@ class CountLiteralAction : public ActionBase { arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -794,7 +794,7 @@ class MinAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; GetMinResultWithGroupBy(dest_group_id, data); return arrow::Status::OK(); @@ -802,7 +802,7 @@ class MinAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -1106,7 +1106,7 @@ class MinAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (!cache_validity_[dest_group_id]) { cache_[dest_group_id] = *(CType*)data; @@ -1120,7 +1120,7 @@ class MinAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -1274,7 +1274,7 @@ class MinAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (!cache_validity_[dest_group_id]) { cache_[dest_group_id] = *(CType*)data; @@ -1288,7 +1288,7 @@ class MinAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -1410,7 +1410,7 @@ class MaxAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; GetMaxResultWithGroupBy(dest_group_id, data); return arrow::Status::OK(); @@ -1418,7 +1418,7 @@ class MaxAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -1716,7 +1716,7 @@ class MaxAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (!cache_validity_[dest_group_id]) { cache_[dest_group_id] = *(CType*)data; @@ -1730,7 +1730,7 @@ class MaxAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -1885,7 +1885,7 @@ class MaxAction> arrow::Status Evaluate(int dest_group_id, void* data) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; if (!cache_validity_[dest_group_id]) { cache_[dest_group_id] = *(CType*)data; @@ -1899,7 +1899,7 @@ class MaxAction> arrow::Status EvaluateNull(int dest_group_id) { auto target_group_size = dest_group_id + 1; - if (cache_validity_.size() < target_group_size) GrowByFactor(target_group_size); + if (cache_validity_.size() <= target_group_size) GrowByFactor(target_group_size); if (length_ < target_group_size) length_ = target_group_size; return arrow::Status::OK(); } @@ -2059,7 +2059,7 @@ class SumAction