mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-23 17:30:35 +00:00
Fix migrations to handle entities with mal-formed FQN due to . in their name (#12217)
This commit is contained in:
parent
02fdab8f4e
commit
bdb438d12d
@ -8,6 +8,7 @@ import java.util.Map;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.Relationship;
|
import org.openmetadata.schema.type.Relationship;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.resources.databases.DatasourceConfig;
|
import org.openmetadata.service.resources.databases.DatasourceConfig;
|
||||||
import org.openmetadata.service.util.FullyQualifiedName;
|
import org.openmetadata.service.util.FullyQualifiedName;
|
||||||
@ -81,7 +82,7 @@ public class ListFilter {
|
|||||||
|
|
||||||
public String getServiceCondition(String tableName) {
|
public String getServiceCondition(String tableName) {
|
||||||
String service = queryParams.get("service");
|
String service = queryParams.get("service");
|
||||||
return service == null ? "" : getFqnPrefixCondition(tableName, service);
|
return service == null ? "" : getFqnPrefixCondition(tableName, EntityInterfaceUtil.quoteName(service));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getParentCondition(String tableName) {
|
public String getParentCondition(String tableName) {
|
||||||
|
@ -58,6 +58,7 @@ import org.openmetadata.schema.type.DashboardConnection;
|
|||||||
import org.openmetadata.schema.type.EntityHistory;
|
import org.openmetadata.schema.type.EntityHistory;
|
||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.DashboardServiceRepository;
|
import org.openmetadata.service.jdbi3.DashboardServiceRepository;
|
||||||
@ -206,7 +207,8 @@ public class DashboardServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
DashboardService dashboardService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
DashboardService dashboardService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, dashboardService);
|
return decryptOrNullify(securityContext, dashboardService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,7 +422,7 @@ public class DashboardServiceResource
|
|||||||
@Parameter(description = "Name of the dashboard service", schema = @Schema(type = "string")) @PathParam("name")
|
@Parameter(description = "Name of the dashboard service", schema = @Schema(type = "string")) @PathParam("name")
|
||||||
String name)
|
String name)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
@ -56,6 +56,7 @@ import org.openmetadata.schema.entity.services.connections.TestConnectionResult;
|
|||||||
import org.openmetadata.schema.type.EntityHistory;
|
import org.openmetadata.schema.type.EntityHistory;
|
||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.DatabaseServiceRepository;
|
import org.openmetadata.service.jdbi3.DatabaseServiceRepository;
|
||||||
@ -220,7 +221,8 @@ public class DatabaseServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
DatabaseService databaseService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
DatabaseService databaseService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, databaseService);
|
return decryptOrNullify(securityContext, databaseService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -434,7 +436,7 @@ public class DatabaseServiceResource
|
|||||||
@Parameter(description = "Name of the database service", schema = @Schema(type = "string")) @PathParam("name")
|
@Parameter(description = "Name of the database service", schema = @Schema(type = "string")) @PathParam("name")
|
||||||
String name)
|
String name)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
@ -58,6 +58,7 @@ import org.openmetadata.schema.type.EntityHistory;
|
|||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MessagingConnection;
|
import org.openmetadata.schema.type.MessagingConnection;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.ListFilter;
|
import org.openmetadata.service.jdbi3.ListFilter;
|
||||||
@ -207,7 +208,8 @@ public class MessagingServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
MessagingService messagingService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
MessagingService messagingService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, messagingService);
|
return decryptOrNullify(securityContext, messagingService);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +53,7 @@ import org.openmetadata.schema.services.connections.metadata.OpenMetadataConnect
|
|||||||
import org.openmetadata.schema.type.EntityHistory;
|
import org.openmetadata.schema.type.EntityHistory;
|
||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.OpenMetadataApplicationConfig;
|
import org.openmetadata.service.OpenMetadataApplicationConfig;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
@ -252,7 +253,8 @@ public class MetadataServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
MetadataService metadataService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
MetadataService metadataService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, metadataService);
|
return decryptOrNullify(securityContext, metadataService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -464,7 +466,7 @@ public class MetadataServiceResource
|
|||||||
@Parameter(description = "Name of the metadata service", schema = @Schema(type = "string")) @PathParam("name")
|
@Parameter(description = "Name of the metadata service", schema = @Schema(type = "string")) @PathParam("name")
|
||||||
String name)
|
String name)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
@ -58,6 +58,7 @@ import org.openmetadata.schema.type.EntityHistory;
|
|||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
import org.openmetadata.schema.type.MlModelConnection;
|
import org.openmetadata.schema.type.MlModelConnection;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.ListFilter;
|
import org.openmetadata.service.jdbi3.ListFilter;
|
||||||
@ -214,7 +215,8 @@ public class MlModelServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
MlModelService mlModelService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
MlModelService mlModelService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, mlModelService);
|
return decryptOrNullify(securityContext, mlModelService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,7 +428,7 @@ public class MlModelServiceResource
|
|||||||
@Parameter(description = "Name of the ML Model service", schema = @Schema(type = "string")) @PathParam("name")
|
@Parameter(description = "Name of the ML Model service", schema = @Schema(type = "string")) @PathParam("name")
|
||||||
String name)
|
String name)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
@ -56,6 +56,7 @@ import org.openmetadata.schema.type.EntityHistory;
|
|||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
import org.openmetadata.schema.type.PipelineConnection;
|
import org.openmetadata.schema.type.PipelineConnection;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.ListFilter;
|
import org.openmetadata.service.jdbi3.ListFilter;
|
||||||
@ -213,7 +214,8 @@ public class PipelineServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
PipelineService pipelineService = getByNameInternal(uriInfo, securityContext, fqn, fieldsParam, include);
|
PipelineService pipelineService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, pipelineService);
|
return decryptOrNullify(securityContext, pipelineService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,7 +428,7 @@ public class PipelineServiceResource
|
|||||||
@PathParam("fqn")
|
@PathParam("fqn")
|
||||||
String fqn)
|
String fqn)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, fqn, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
@ -44,6 +44,7 @@ import org.openmetadata.schema.type.EntityHistory;
|
|||||||
import org.openmetadata.schema.type.Include;
|
import org.openmetadata.schema.type.Include;
|
||||||
import org.openmetadata.schema.type.MetadataOperation;
|
import org.openmetadata.schema.type.MetadataOperation;
|
||||||
import org.openmetadata.schema.type.StorageConnection;
|
import org.openmetadata.schema.type.StorageConnection;
|
||||||
|
import org.openmetadata.schema.utils.EntityInterfaceUtil;
|
||||||
import org.openmetadata.service.Entity;
|
import org.openmetadata.service.Entity;
|
||||||
import org.openmetadata.service.jdbi3.CollectionDAO;
|
import org.openmetadata.service.jdbi3.CollectionDAO;
|
||||||
import org.openmetadata.service.jdbi3.ListFilter;
|
import org.openmetadata.service.jdbi3.ListFilter;
|
||||||
@ -205,7 +206,8 @@ public class StorageServiceResource
|
|||||||
@DefaultValue("non-deleted")
|
@DefaultValue("non-deleted")
|
||||||
Include include)
|
Include include)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
StorageService storageService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
|
StorageService storageService =
|
||||||
|
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
|
||||||
return decryptOrNullify(securityContext, storageService);
|
return decryptOrNullify(securityContext, storageService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -414,7 +416,7 @@ public class StorageServiceResource
|
|||||||
@Parameter(description = "Name of the StorageService", schema = @Schema(type = "string")) @PathParam("fqn")
|
@Parameter(description = "Name of the StorageService", schema = @Schema(type = "string")) @PathParam("fqn")
|
||||||
String fqn)
|
String fqn)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return deleteByName(uriInfo, securityContext, fqn, false, hardDelete);
|
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), false, hardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
|
Loading…
x
Reference in New Issue
Block a user