fix bugs of outline
This commit is contained in:
@ -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)) {
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user