[CP] to issue<57135401>:remove __all_ncomp_dll table data when drop user

This commit is contained in:
hanr881
2024-06-17 12:25:29 +00:00
committed by ob-robot
parent f8c83cc195
commit 38f6ef5b45

View File

@ -858,6 +858,11 @@ int ObDDLOperator::drop_database(const ObDatabaseSchema &db_schema,
package_schema->get_package_id(), package_schema->get_package_id(),
new_schema_version, trans))) { new_schema_version, trans))) {
LOG_WARN("drop package failed", KR(ret), "package_id", package_schema->get_package_id()); LOG_WARN("drop package failed", KR(ret), "package_id", package_schema->get_package_id());
} else if (OB_FAIL(pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans,
tenant_id,
package_schema->get_package_id(),
package_schema->get_database_id()))) {
LOG_WARN("fail to delete ddl from disk", K(ret));
} else { } else {
// delete audit in package // delete audit in package
audits.reuse(); audits.reuse();
@ -923,6 +928,11 @@ int ObDDLOperator::drop_database(const ObDatabaseSchema &db_schema,
} else if (OB_FAIL(schema_service_impl->get_routine_sql_service().drop_routine( } else if (OB_FAIL(schema_service_impl->get_routine_sql_service().drop_routine(
*routine_info, new_schema_version, trans))) { *routine_info, new_schema_version, trans))) {
LOG_WARN("drop routine failed", KR(ret), "routine_id", routine_id); LOG_WARN("drop routine failed", KR(ret), "routine_id", routine_id);
} else if (OB_FAIL(pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans,
routine_info->get_tenant_id(),
routine_info->get_routine_id(),
routine_info->get_database_id()))) {
LOG_WARN("fail to delete ddl from disk", K(ret));
} else { } else {
// delete audit in routine // delete audit in routine
audits.reuse(); audits.reuse();
@ -987,6 +997,25 @@ int ObDDLOperator::drop_database(const ObDatabaseSchema &db_schema,
*udt_info, new_schema_version, trans))) { *udt_info, new_schema_version, trans))) {
LOG_WARN("drop routine failed", "routine_id", udt_info->get_type_id(), K(ret)); LOG_WARN("drop routine failed", "routine_id", udt_info->get_type_id(), K(ret));
} }
if (OB_SUCC(ret)) {
if (udt_info->is_object_spec_ddl() &&
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info->get_object_spec_id(tenant_id))) {
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
ObUDTObjectType::mask_object_id(udt_info->get_object_spec_id(tenant_id)),
udt_info->get_database_id()));
if (udt_info->has_type_body() &&
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info->get_object_body_id(tenant_id))) {
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
ObUDTObjectType::mask_object_id(udt_info->get_object_body_id(tenant_id)),
udt_info->get_database_id()));
}
} else if (udt_info->is_object_body_ddl() &&
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info->get_object_body_id(tenant_id))) {
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
ObUDTObjectType::mask_object_id(udt_info->get_object_body_id(tenant_id)),
udt_info->get_database_id()));
}
}
} }
} }
} }