From df1c2d9f2f63e9be321ab1b91d04c7781f2e690c Mon Sep 17 00:00:00 2001 From: raywill Date: Fri, 20 May 2022 14:35:04 +0800 Subject: [PATCH] [CP] fix errorcode overwrite error, prevent data error --- src/share/schema/ob_schema_struct.cpp | 2 +- src/sql/optimizer/ob_table_location.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/share/schema/ob_schema_struct.cpp b/src/share/schema/ob_schema_struct.cpp index e5263d25ba..50d095cc8b 100644 --- a/src/share/schema/ob_schema_struct.cpp +++ b/src/share/schema/ob_schema_struct.cpp @@ -7037,7 +7037,7 @@ int ObPartitionUtils::get_all_part( ret = OB_ERR_UNEXPECTED; LOG_WARN("get invalid part array", K(part)); } else { - for (int64_t i = 0; i < table_schema.get_part_option().get_part_num(); i++) { + for (int64_t i = 0; OB_SUCC(ret) && i < table_schema.get_part_option().get_part_num(); i++) { if (OB_ISNULL(part[i])) { ret = OB_ERR_UNEXPECTED; LOG_WARN("get invalid partition info", K(ret), K(i)); diff --git a/src/sql/optimizer/ob_table_location.cpp b/src/sql/optimizer/ob_table_location.cpp index 57df62d746..a1751c1c90 100644 --- a/src/sql/optimizer/ob_table_location.cpp +++ b/src/sql/optimizer/ob_table_location.cpp @@ -1994,8 +1994,10 @@ int ObTableLocation::calculate_partition_ids(ObExecContext& exec_ctx, common::Ob LOG_WARN("Get virtual table fake id error", K(ret)); } } - if (OB_FAIL(partition_ids.push_back(fake_id))) { - LOG_WARN("Add fake partition id error", K(ret)); + if (OB_SUCC(ret)) { + if (OB_FAIL(partition_ids.push_back(fake_id))) { + LOG_WARN("Add fake partition id error", K(ret)); + } } } } -- GitLab