diff --git a/deps/oblib/src/lib/ob_define.h b/deps/oblib/src/lib/ob_define.h index e3edcbe0af..f1dacca69a 100644 --- a/deps/oblib/src/lib/ob_define.h +++ b/deps/oblib/src/lib/ob_define.h @@ -1205,8 +1205,8 @@ const uint64_t OB_PUBLIC_SCHEMA_ID = OB_MIN_INNER_DATABASE_ID + 5; const uint64_t OB_ORA_SYS_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 6; const uint64_t OB_ORA_LBACSYS_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 7; const uint64_t OB_ORA_AUDITOR_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 8; -// not actual database, only for using and creating outlines without specified database -const uint64_t OB_OUTLINE_DEFAULT_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 9; +// use only if the 'use database' command is not executed. +const uint64_t OB_MOCK_DEFAULT_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 9; const uint64_t OB_CTE_DATABASE_ID = OB_MIN_INNER_DATABASE_ID + 10; const uint64_t OB_MAX_INNER_DATABASE_ID = 202000; @@ -1216,7 +1216,7 @@ const char* const OB_MYSQL_SCHEMA_NAME = "mysql"; const char* const OB_RECYCLEBIN_SCHEMA_NAME = "__recyclebin"; //hidden const char* const OB_PUBLIC_SCHEMA_NAME = "__public"; //hidden const char* const OB_ORA_SYS_SCHEMA_NAME = "SYS"; -const char* const OB_OUTLINE_DEFAULT_DATABASE_NAME = "__outline_default_db"; +const char* const OB_MOCK_DEFAULT_DATABASE_NAME = "__outline_default_db"; const char* const OB_TEST_SCHEMA_NAME = "test"; OB_INLINE bool is_oceanbase_sys_database_id(const uint64_t database_id) @@ -1251,7 +1251,7 @@ OB_INLINE bool is_public_database_id(const uint64_t database_id) OB_INLINE bool is_outline_database_id(const uint64_t database_id) { - return OB_OUTLINE_DEFAULT_DATABASE_ID == database_id; + return OB_MOCK_DEFAULT_DATABASE_ID == database_id; } OB_INLINE bool is_inner_db(const uint64_t db_id) diff --git a/src/observer/virtual_table/ob_tenant_virtual_outline.cpp b/src/observer/virtual_table/ob_tenant_virtual_outline.cpp index 67b4d183f5..b37b52d3e3 100644 --- a/src/observer/virtual_table/ob_tenant_virtual_outline.cpp +++ b/src/observer/virtual_table/ob_tenant_virtual_outline.cpp @@ -61,9 +61,9 @@ 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) { + } else if (database_id == OB_MOCK_DEFAULT_DATABASE_ID) { // virtual outline database - if (OB_FAIL(ob_write_string(*allocator_, OB_OUTLINE_DEFAULT_DATABASE_NAME, db_name))) { + if (OB_FAIL(ob_write_string(*allocator_, OB_MOCK_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)) { @@ -180,7 +180,7 @@ int ObTenantVirtualOutline::fill_cells(const ObOutlineInfo *outline_info) case DATABASE_NAME : { DBInfo db_info; if (is_outline_database_id(outline_info->get_database_id())) { - cells[cell_idx].set_varchar(OB_OUTLINE_DEFAULT_DATABASE_NAME); + cells[cell_idx].set_varchar(OB_MOCK_DEFAULT_DATABASE_NAME); cells[cell_idx].set_collation_type( ObCharset::get_default_collation(ObCharset::get_default_charset())); } else if (OB_FAIL(database_infos_.get_refactored(outline_info->get_database_id(), diff --git a/src/rootserver/ob_ddl_service.cpp b/src/rootserver/ob_ddl_service.cpp index 9a6cb0e257..f5e294c08c 100755 --- a/src/rootserver/ob_ddl_service.cpp +++ b/src/rootserver/ob_ddl_service.cpp @@ -31869,8 +31869,8 @@ int ObDDLService::drop_outline(const obrpc::ObDropOutlineArg &arg) uint64_t database_id = OB_INVALID_ID; if (OB_SUCC(ret)) { bool database_exist = false; - if (database_name == OB_OUTLINE_DEFAULT_DATABASE_NAME) { - database_id = OB_OUTLINE_DEFAULT_DATABASE_ID; + if (database_name == OB_MOCK_DEFAULT_DATABASE_NAME) { + database_id = OB_MOCK_DEFAULT_DATABASE_ID; database_exist = true; } else if (OB_FAIL(schema_service_->check_database_exist(tenant_id, database_name, diff --git a/src/rootserver/ob_root_service.cpp b/src/rootserver/ob_root_service.cpp index 4b91e474ee..04ec7d7d68 100755 --- a/src/rootserver/ob_root_service.cpp +++ b/src/rootserver/ob_root_service.cpp @@ -6412,9 +6412,9 @@ int ObRootService::create_outline(const ObCreateOutlineArg &arg) const ObDatabaseSchema *db_schema = NULL; if (OB_FAIL(ddl_service_.get_tenant_schema_guard_with_version_in_inner_table(tenant_id, schema_guard))) { LOG_WARN("get schema guard in inner table failed", K(ret)); - } else if (database_name == OB_OUTLINE_DEFAULT_DATABASE_NAME) { + } else if (database_name == OB_MOCK_DEFAULT_DATABASE_NAME) { // if not specify database, set default database name and database id; - outline_info.set_database_id(OB_OUTLINE_DEFAULT_DATABASE_ID); + outline_info.set_database_id(OB_MOCK_DEFAULT_DATABASE_ID); } else if (OB_FAIL(schema_guard.get_database_schema(tenant_id, database_name, db_schema))) { LOG_WARN("get database schema failed", K(ret)); } else if (NULL == db_schema) { diff --git a/src/sql/ob_sql.cpp b/src/sql/ob_sql.cpp index ba9fe165d0..231efece34 100644 --- a/src/sql/ob_sql.cpp +++ b/src/sql/ob_sql.cpp @@ -2511,7 +2511,7 @@ OB_INLINE int ObSql::handle_text_query(const ObString &stmt, ObSqlCtx &context, LOG_WARN("Failed to get database id", K(ret)); } else if (FALSE_IT(context.spm_ctx_.bl_key_.db_id_ = (database_id == OB_INVALID_ID) ? - OB_OUTLINE_DEFAULT_DATABASE_ID: + OB_MOCK_DEFAULT_DATABASE_ID: database_id)) { // do nothing } else if (!use_plan_cache) { diff --git a/src/sql/plan_cache/ob_plan_cache.cpp b/src/sql/plan_cache/ob_plan_cache.cpp index e1d12583ef..f390c59188 100644 --- a/src/sql/plan_cache/ob_plan_cache.cpp +++ b/src/sql/plan_cache/ob_plan_cache.cpp @@ -2308,7 +2308,7 @@ OB_INLINE int ObPlanCache::construct_plan_cache_key(ObSQLSessionInfo &session, int ret = OB_SUCCESS; uint64_t database_id = OB_INVALID_ID; session.get_database_id(database_id); - pc_key.db_id_ = (database_id == OB_INVALID_ID) ? OB_OUTLINE_DEFAULT_DATABASE_ID : database_id; + pc_key.db_id_ = (database_id == OB_INVALID_ID) ? OB_MOCK_DEFAULT_DATABASE_ID : database_id; pc_key.namespace_ = ns; pc_key.sys_vars_str_ = session.get_sys_var_in_pc_str(); pc_key.config_str_ = session.get_config_in_pc_str(); diff --git a/src/sql/resolver/ddl/ob_outline_resolver.cpp b/src/sql/resolver/ddl/ob_outline_resolver.cpp index 74e0c24fc5..48341a17ef 100644 --- a/src/sql/resolver/ddl/ob_outline_resolver.cpp +++ b/src/sql/resolver/ddl/ob_outline_resolver.cpp @@ -63,7 +63,7 @@ int ObOutlineResolver::resolve_outline_name(const ParseNode *node, ObString &db_ true : (mode != OB_LOWERCASE_AND_INSENSITIVE); if (NULL == db_name_node) { if (session_info_->get_database_name().empty()) { - db_name = OB_OUTLINE_DEFAULT_DATABASE_NAME; + db_name = OB_MOCK_DEFAULT_DATABASE_NAME; } else { db_name = session_info_->get_database_name(); } diff --git a/src/sql/session/ob_sql_session_info.cpp b/src/sql/session/ob_sql_session_info.cpp index bde356ab53..a20a5d2e59 100644 --- a/src/sql/session/ob_sql_session_info.cpp +++ b/src/sql/session/ob_sql_session_info.cpp @@ -1879,6 +1879,8 @@ const ObAuditRecordData &ObSQLSessionInfo::get_final_audit_record( if (OB_FAIL(get_database_id(audit_record_.db_id_))) { LOG_WARN("fail to get database id", K(ret)); + } else if (audit_record_.db_id_ == OB_INVALID_ID) { + audit_record_.db_id_ = OB_MOCK_DEFAULT_DATABASE_ID; } } else if (EXECUTE_REMOTE == mode || EXECUTE_DIST == mode) { audit_record_.tenant_name_ = NULL;