From 788ecd5ee829715889603c950a49837cf52de84b Mon Sep 17 00:00:00 2001 From: egolearner <45122959+egolearner@users.noreply.github.com> Date: Tue, 6 Jan 2026 20:33:08 +0800 Subject: [PATCH] fix(sqlengine): reduce memory reserve size when topk is too big (#10) --- src/db/sqlengine/planner/query_planner.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/db/sqlengine/planner/query_planner.cc b/src/db/sqlengine/planner/query_planner.cc index cfe252b..c56a364 100644 --- a/src/db/sqlengine/planner/query_planner.cc +++ b/src/db/sqlengine/planner/query_planner.cc @@ -617,10 +617,11 @@ Result QueryPlanner::invert_scan( } int QueryPlanner::get_batch_size(const QueryInfo &info, bool has_later_filter) { + // ref https://arrow.apache.org/docs/developers/cpp/acero.html#batch-size if (!info.query_orderbys().empty() || has_later_filter) { return 32 * 1024; } - return info.query_topn(); + return std::min(info.query_topn(), 32U * 1024); } } // namespace zvec::sqlengine