diff --git a/src/share/schema/ob_schema_struct.cpp b/src/share/schema/ob_schema_struct.cpp index e5263d25baf6e55b56977eccf39ebebd3919d81d..50d095cc8bdd166e1e3e844ec4ff8b6a7b87213e 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 57df62d7465e46c5c9fb87195888db2042c0a8c4..a1751c1c90a618a75fded19b587d9b6218d9d69b 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)); + } } } }