to issue<56337229>:adjust delete from __all_ncomp_dll filter condition
This commit is contained in:
@ -549,7 +549,8 @@ int ObRoutinePersistentInfo::process_storage_dll(ObIAllocator &alloc,
|
|||||||
|
|
||||||
int ObRoutinePersistentInfo::delete_dll_from_disk(common::ObISQLClient &trans,
|
int ObRoutinePersistentInfo::delete_dll_from_disk(common::ObISQLClient &trans,
|
||||||
uint64_t tenant_id,
|
uint64_t tenant_id,
|
||||||
uint64_t key_id)
|
uint64_t key_id,
|
||||||
|
uint64_t database_id)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
|
|
||||||
@ -579,7 +580,7 @@ int ObRoutinePersistentInfo::delete_dll_from_disk(common::ObISQLClient &trans,
|
|||||||
if (OB_INVALID_ID == key_id) {
|
if (OB_INVALID_ID == key_id) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("unexpected key id.", K(ret));
|
LOG_WARN("unexpected key id.", K(ret));
|
||||||
} else if (OB_FAIL(sql.assign_fmt("delete FROM %s where key_id = %ld", OB_ALL_NCOMP_DLL_TNAME, key_id))) {
|
} else if (OB_FAIL(sql.assign_fmt("delete FROM %s where database_id = %ld and key_id = %ld", OB_ALL_NCOMP_DLL_TNAME, database_id, key_id))) {
|
||||||
LOG_WARN("delete from __all_ncomp_dll table failed.", K(ret), K(key_id));
|
LOG_WARN("delete from __all_ncomp_dll table failed.", K(ret), K(key_id));
|
||||||
} else {
|
} else {
|
||||||
if (OB_FAIL(trans.write(exec_tenant_id, sql.ptr(), affected_rows))) {
|
if (OB_FAIL(trans.write(exec_tenant_id, sql.ptr(), affected_rows))) {
|
||||||
|
|||||||
@ -130,7 +130,8 @@ public:
|
|||||||
|
|
||||||
static int delete_dll_from_disk(common::ObISQLClient &trans,
|
static int delete_dll_from_disk(common::ObISQLClient &trans,
|
||||||
uint64_t tenant_id,
|
uint64_t tenant_id,
|
||||||
uint64_t key_id);
|
uint64_t key_id,
|
||||||
|
uint64_t database_id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint64_t tenant_id_;
|
uint64_t tenant_id_;
|
||||||
|
|||||||
@ -8912,7 +8912,8 @@ int ObDDLOperator::drop_routine(const ObRoutineInfo &routine_info,
|
|||||||
routine_info, new_schema_version, trans, ddl_stmt_str))) {
|
routine_info, new_schema_version, trans, ddl_stmt_str))) {
|
||||||
LOG_WARN("drop routine info failed", K(routine_info), K(ret));
|
LOG_WARN("drop routine info failed", K(routine_info), K(ret));
|
||||||
}
|
}
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, routine_info.get_tenant_id(), routine_info.get_routine_id()));
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, routine_info.get_tenant_id(),
|
||||||
|
routine_info.get_routine_id(), routine_info.get_database_id()));
|
||||||
OZ (ObDependencyInfo::delete_schema_object_dependency(trans, routine_info.get_tenant_id(),
|
OZ (ObDependencyInfo::delete_schema_object_dependency(trans, routine_info.get_tenant_id(),
|
||||||
routine_info.get_routine_id(),
|
routine_info.get_routine_id(),
|
||||||
new_schema_version,
|
new_schema_version,
|
||||||
@ -9253,17 +9254,20 @@ int ObDDLOperator::drop_package(const ObPackageInfo &package_info,
|
|||||||
package_info.get_package_id(),
|
package_info.get_package_id(),
|
||||||
new_schema_version,
|
new_schema_version,
|
||||||
package_info.get_object_type()));
|
package_info.get_object_type()));
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_info.get_package_id()));
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_info.get_package_id(),
|
||||||
|
package_info.get_database_id()));
|
||||||
if (OB_NOT_NULL(package_body_info)) {
|
if (OB_NOT_NULL(package_body_info)) {
|
||||||
OZ (ObDependencyInfo::delete_schema_object_dependency(trans, tenant_id,
|
OZ (ObDependencyInfo::delete_schema_object_dependency(trans, tenant_id,
|
||||||
package_body_info->get_package_id(),
|
package_body_info->get_package_id(),
|
||||||
new_schema_version,
|
new_schema_version,
|
||||||
package_body_info->get_object_type()));
|
package_body_info->get_object_type()));
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_body_info->get_package_id()));
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_body_info->get_package_id(),
|
||||||
|
package_body_info->get_database_id()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_info.get_package_id()));
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id, package_info.get_package_id(),
|
||||||
|
package_info.get_database_id()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9437,9 +9441,11 @@ int ObDDLOperator::drop_trigger(const ObTriggerInfo &trigger_info,
|
|||||||
new_schema_version,
|
new_schema_version,
|
||||||
trigger_info.get_object_type()));
|
trigger_info.get_object_type()));
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
||||||
share::schema::ObTriggerInfo::get_trigger_spec_package_id(trigger_info.get_trigger_id())));
|
share::schema::ObTriggerInfo::get_trigger_spec_package_id(trigger_info.get_trigger_id()),
|
||||||
|
trigger_info.get_database_id()));
|
||||||
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
||||||
share::schema::ObTriggerInfo::get_trigger_body_package_id(trigger_info.get_trigger_id())));
|
share::schema::ObTriggerInfo::get_trigger_body_package_id(trigger_info.get_trigger_id()),
|
||||||
|
trigger_info.get_database_id()));
|
||||||
if (OB_SUCC(ret) && !trigger_info.is_system_type() && is_update_table_schema_version) {
|
if (OB_SUCC(ret) && !trigger_info.is_system_type() && is_update_table_schema_version) {
|
||||||
uint64_t base_table_id = trigger_info.get_base_object_id();
|
uint64_t base_table_id = trigger_info.get_base_object_id();
|
||||||
OZ (schema_service->get_table_sql_service().update_data_table_schema_version(trans,
|
OZ (schema_service->get_table_sql_service().update_data_table_schema_version(trans,
|
||||||
@ -9942,16 +9948,19 @@ int ObDDLOperator::drop_udt(const ObUDTTypeInfo &udt_info,
|
|||||||
if (udt_info.is_object_spec_ddl() &&
|
if (udt_info.is_object_spec_ddl() &&
|
||||||
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info.get_object_spec_id(tenant_id))) {
|
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,
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
||||||
ObUDTObjectType::mask_object_id(udt_info.get_object_spec_id(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() &&
|
if (udt_info.has_type_body() &&
|
||||||
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info.get_object_body_id(tenant_id))) {
|
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,
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
||||||
ObUDTObjectType::mask_object_id(udt_info.get_object_body_id(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() &&
|
} else if (udt_info.is_object_body_ddl() &&
|
||||||
OB_INVALID_ID != ObUDTObjectType::mask_object_id(udt_info.get_object_body_id(tenant_id))) {
|
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,
|
OZ (pl::ObRoutinePersistentInfo::delete_dll_from_disk(trans, tenant_id,
|
||||||
ObUDTObjectType::mask_object_id(udt_info.get_object_body_id(tenant_id))));
|
ObUDTObjectType::mask_object_id(udt_info.get_object_body_id(tenant_id)),
|
||||||
|
udt_info.get_database_id()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user