fix bugs of outline

This commit is contained in:
obdev
2023-08-16 03:44:29 +00:00
committed by ob-robot
parent 530dbeeef0
commit c07a4c7201
2 changed files with 14 additions and 0 deletions

View File

@ -61,6 +61,17 @@ int ObTenantVirtualOutlineBase::set_database_infos_and_get_value(uint64_t databa
if (OB_ISNULL(schema_guard_) || OB_ISNULL(allocator_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("parameter is NULL", K(ret), K(schema_guard_), K(allocator_));
} else if (database_id == OB_OUTLINE_DEFAULT_DATABASE_ID) {
// virtual outline database
if (OB_FAIL(ob_write_string(*allocator_, OB_OUTLINE_DEFAULT_DATABASE_NAME, db_name))) {
LOG_WARN("fail to write string", K(ret), K(db_schema->get_database_name_str()));
} else if (FALSE_IT(db_info.db_name_ = db_name)) {
} else if (FALSE_IT(db_info.is_recycle_ = false)) {
} else if (OB_FAIL(database_infos_.set_refactored(database_id, db_info))) {
LOG_WARN("fail to set hash_map", K(ret), K(database_id));
} else {
is_recycle = false;
}
} else if (OB_FAIL(schema_guard_->get_database_schema(tenant_id_, database_id, db_schema))) {
LOG_WARN("fail to get database schema", K(ret), K_(tenant_id), K(database_id));
} else if (OB_ISNULL(db_schema)) {

View File

@ -467,6 +467,9 @@ int ObPlanCacheValue::choose_plan(ObPlanCacheCtx &pc_ctx,
bool enable_baseline = false;
bool captrue_baseline = false;
bool need_check_schema = (schema_array.count() != 0);
if (schema_array.count() == 0 && stored_schema_objs_.count() == 0) {
need_check_schema = true;
}
if (stmt::T_NONE == pc_ctx.sql_ctx_.stmt_type_) {
//sql_ctx_.stmt_type_ != stmt::T_NONE means this calling in nested sql,
//can't cover the first stmt type in sql context