From 68c52ce659078b9ca9d455ecb46d3752273fcd84 Mon Sep 17 00:00:00 2001 From: obdev Date: Fri, 17 Mar 2023 04:44:01 +0000 Subject: [PATCH] Fix partition id calculation bug --- src/sql/optimizer/ob_table_location.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sql/optimizer/ob_table_location.cpp b/src/sql/optimizer/ob_table_location.cpp index 22d2bce221..a3db1c262e 100644 --- a/src/sql/optimizer/ob_table_location.cpp +++ b/src/sql/optimizer/ob_table_location.cpp @@ -1471,7 +1471,10 @@ int ObTableLocation::calculate_partition_ids_by_rows2(ObSQLSessionInfo &session_ } } if (OB_SUCC(ret)) { - if (OB_FAIL(tablet_ids.push_back(tmp_tablet_ids.at(0)))) { + if ((tmp_tablet_ids.count() != 1) || (tmp_part_ids.count() != 1)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("invalid tablet ids or partition ids", KR(ret), K(tmp_tablet_ids), K(tmp_part_ids)); + } else if (OB_FAIL(tablet_ids.push_back(tmp_tablet_ids.at(0)))) { LOG_WARN("fail to push tablet id", KR(ret)); } else if (OB_FAIL(part_ids.push_back(tmp_part_ids.at(0)))) { LOG_WARN("fail to push object id", KR(ret));