From d3969568dcc7328fe08728727ee5a2e20f033e2d Mon Sep 17 00:00:00 2001 From: Hooper9973 Date: Fri, 2 Feb 2024 18:17:04 +0000 Subject: [PATCH] [SKIP INDEX] sum precision overflow don not print error log --- .../index_block/ob_index_block_aggregator.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/storage/blocksstable/index_block/ob_index_block_aggregator.cpp b/src/storage/blocksstable/index_block/ob_index_block_aggregator.cpp index f70241c52..9a653bede 100644 --- a/src/storage/blocksstable/index_block/ob_index_block_aggregator.cpp +++ b/src/storage/blocksstable/index_block/ob_index_block_aggregator.cpp @@ -270,7 +270,13 @@ int ObColSumAggregator::eval(const ObStorageDatum &datum, const bool is_data) } else if (OB_FAIL(choose_eval_func(is_data))) { LOG_WARN("fail to choose eval func", K(is_data)); } else if (OB_FAIL((this->*eval_func_)(datum))) { - LOG_WARN("fail to eval sum", K(datum), KPC(result_), K(col_desc_)); + if (OB_INTEGER_PRECISION_OVERFLOW == ret || OB_DECIMAL_PRECISION_OVERFLOW == ret || OB_NUMERIC_OVERFLOW == ret) { + // sum precision overflow set not aggregate. + set_not_aggregate(); + ret = OB_SUCCESS; + } else { + LOG_WARN("fail to eval sum", K(datum), KPC(result_), K(col_desc_)); + } } return ret; }