Skip to content

Commit 523b7dc

Browse files
committed
Simplify modification reports management
Signed-off-by: Ayoub LABIDI <[email protected]>
1 parent 0781368 commit 523b7dc

15 files changed

+71
-92
lines changed

src/main/java/org/gridsuite/study/server/dto/RootNetworkNodeInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class RootNetworkNodeInfo {
2828

2929
private Map<String, UUID> computationReports;
3030

31-
private Map<UUID, UUID> modificationReports;
31+
private UUID modificationReportUuid;
3232

3333
private UUID shortCircuitAnalysisResultUuid;
3434

@@ -59,7 +59,7 @@ public RootNetworkNodeInfoEntity toEntity() {
5959
.id(id)
6060
.variantId(variantId)
6161
.computationReports(computationReports)
62-
.modificationReports(modificationReports)
62+
.modificationReportUuid(modificationReportUuid)
6363
.shortCircuitAnalysisResultUuid(shortCircuitAnalysisResultUuid)
6464
.oneBusShortCircuitAnalysisResultUuid(oneBusShortCircuitAnalysisResultUuid)
6565
.loadFlowResultUuid(loadFlowResultUuid)

src/main/java/org/gridsuite/study/server/networkmodificationtree/dto/NetworkModificationNode.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ public class NetworkModificationNode extends AbstractNode {
5858

5959
private NodeBuildStatus nodeBuildStatus;
6060

61+
private Map<String, UUID> computationsReports;
62+
63+
private UUID modificationReportUuid;
64+
6165
@Builder.Default
6266
private NetworkModificationNodeType nodeType = NetworkModificationNodeType.CONSTRUCTION;
6367

@@ -76,13 +80,9 @@ public void completeDtoFromRootNetworkNodeInfo(RootNetworkNodeInfoEntity rootNet
7680
this.setStateEstimationResultUuid(rootNetworkNodeInfoEntity.getStateEstimationResultUuid());
7781
this.setNodeBuildStatus(rootNetworkNodeInfoEntity.getNodeBuildStatus().toDto());
7882
this.setComputationsReports(new HashMap<>(rootNetworkNodeInfoEntity.getComputationReports()));
79-
this.setModificationReports(new HashMap<>(rootNetworkNodeInfoEntity.getModificationReports()));
83+
this.setModificationReportUuid(rootNetworkNodeInfoEntity.getModificationReportUuid());
8084
}
8185

82-
private Map<String, UUID> computationsReports;
83-
84-
private Map<UUID, UUID> modificationReports;
85-
8686
@Override
8787
public NodeType getType() {
8888
return NodeType.NETWORK_MODIFICATION;

src/main/java/org/gridsuite/study/server/networkmodificationtree/entities/RootNetworkNodeInfoEntity.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,7 @@ public class RootNetworkNodeInfoEntity {
6363
foreignKey = @ForeignKey(name = "rootNetworkNodeInfoEntity_computationReports_fk1"))
6464
private Map<String, UUID> computationReports;
6565

66-
@ElementCollection
67-
@CollectionTable(name = "modificationReports",
68-
indexes = {@Index(name = "root_network_node_info_entity_modificationReports_idx1", columnList = "root_network_node_info_entity_id")},
69-
foreignKey = @ForeignKey(name = "rootNetworkNodeInfoEntity_modificationReports_fk1"))
70-
private Map<UUID, UUID> modificationReports;
66+
private UUID modificationReportUuid;
7167

7268
@Column(name = "shortCircuitAnalysisResultUuid")
7369
private UUID shortCircuitAnalysisResultUuid;
@@ -123,7 +119,7 @@ public RootNetworkNodeInfo toDto() {
123119
return RootNetworkNodeInfo.builder()
124120
.id(id)
125121
.computationReports(computationReports)
126-
.modificationReports(modificationReports)
122+
.modificationReportUuid(modificationReportUuid)
127123
.dynamicSimulationResultUuid(dynamicSimulationResultUuid)
128124
.dynamicSecurityAnalysisResultUuid(dynamicSecurityAnalysisResultUuid)
129125
.loadFlowResultUuid(loadFlowResultUuid)

src/main/java/org/gridsuite/study/server/service/NetworkModificationTreeService.java

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -498,12 +498,11 @@ public void createBasicTree(StudyEntity studyEntity) {
498498
.withAllResourceBundlesFromClasspath()
499499
.withMessageTemplate("study.server.modificationNodeId")
500500
.withUntypedValue("modificationNodeId", modificationNode.getId().toString()).build();
501-
reportService.sendReport(getModificationReportUuid(networkModificationNode.getId(), firstRootNetworkUuid, networkModificationNode.getId()), reportNode);
501+
UUID modificationReportUuid = UUID.randomUUID();
502+
reportService.sendReport(modificationReportUuid, reportNode);
502503

503-
BuildInfos buildInfos = getBuildInfos(modificationNode.getId(), firstRootNetworkUuid);
504-
Map<UUID, UUID> nodeUuidToReportUuid = buildInfos.getReportsInfos().stream().collect(Collectors.toMap(ReportInfos::nodeUuid, ReportInfos::reportUuid));
505504
rootNetworkNodeInfoService.updateRootNetworkNode(networkModificationNode.getId(), firstRootNetworkUuid,
506-
RootNetworkNodeInfo.builder().variantId(FIRST_VARIANT_ID).nodeBuildStatus(NodeBuildStatus.from(BuildStatus.BUILT)).modificationReports(nodeUuidToReportUuid).build());
505+
RootNetworkNodeInfo.builder().variantId(FIRST_VARIANT_ID).nodeBuildStatus(NodeBuildStatus.from(BuildStatus.BUILT)).modificationReportUuid(modificationReportUuid).build());
507506
}
508507

509508
@Transactional
@@ -746,7 +745,7 @@ public UUID getReportUuid(UUID nodeUuid, UUID rootNetworkUuid) {
746745
if (nodeEntity.getType().equals(NodeType.ROOT)) {
747746
return rootNetworkService.getRootReportUuid(rootNetworkUuid);
748747
} else {
749-
return rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeUuid, rootNetworkUuid).orElseThrow(() -> new StudyException(ROOT_NETWORK_NOT_FOUND)).getModificationReports().get(nodeUuid);
748+
return rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeUuid, rootNetworkUuid).orElseThrow(() -> new StudyException(ROOT_NETWORK_NOT_FOUND)).getModificationReportUuid();
750749
}
751750
}
752751

@@ -811,16 +810,6 @@ public Map<String, UUID> getComputationReports(UUID nodeUuid, UUID rootNetworkUu
811810
return rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeUuid, rootNetworkUuid).orElseThrow(() -> new StudyException(NODE_NOT_FOUND)).getComputationReports();
812811
}
813812

814-
@Transactional
815-
public void setModificationReports(UUID nodeUuid, UUID rootNetworkUuid, Map<UUID, UUID> modificationReports) {
816-
rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeUuid, rootNetworkUuid).ifPresent(tpNodeInfo -> tpNodeInfo.setModificationReports(modificationReports));
817-
}
818-
819-
@Transactional
820-
public Map<UUID, UUID> getModificationReports(UUID nodeUuid, UUID rootNetworkUuid) {
821-
return rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeUuid, rootNetworkUuid).orElseThrow(() -> new StudyException(NODE_NOT_FOUND)).getModificationReports();
822-
}
823-
824813
private void restoreNodeChildren(UUID studyId, UUID parentNodeId) {
825814
getChildren(parentNodeId).forEach(nodeEntity -> {
826815
NetworkModificationNodeInfoEntity modificationNodeToRestore = networkModificationNodeInfoRepository.findById(nodeEntity.getIdNode()).orElseThrow(() -> new StudyException(NODE_NOT_FOUND));
@@ -840,19 +829,14 @@ public List<NodeEntity> getAllNodes(UUID studyUuid) {
840829
return nodesRepository.findAllByStudyId(studyUuid);
841830
}
842831

843-
private UUID getModificationReportUuid(UUID nodeUuid, UUID rootNetworkUuid, UUID nodeToBuildUuid) {
844-
return self.getModificationReports(nodeToBuildUuid, rootNetworkUuid).getOrDefault(nodeUuid, UUID.randomUUID());
845-
}
846-
847-
private void getBuildInfos(NodeEntity nodeEntity, UUID rootNetworkUuid, BuildInfos buildInfos, UUID nodeToBuildUuid) {
832+
private void getBuildInfos(NodeEntity nodeEntity, UUID rootNetworkUuid, BuildInfos buildInfos) {
848833
AbstractNode node = getSimpleNode(nodeEntity.getIdNode());
849834
if (node.getType() == NodeType.NETWORK_MODIFICATION) {
850835
NetworkModificationNode modificationNode = (NetworkModificationNode) node;
851836
RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity = rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeEntity.getIdNode(), rootNetworkUuid).orElseThrow(() -> new StudyException(ROOT_NETWORK_NOT_FOUND));
852837
if (!rootNetworkNodeInfoEntity.getNodeBuildStatus().toDto().isBuilt()) {
853-
UUID reportUuid = getModificationReportUuid(nodeEntity.getIdNode(), rootNetworkUuid, nodeToBuildUuid);
854-
buildInfos.insertModificationInfos(modificationNode.getModificationGroupUuid(), rootNetworkNodeInfoEntity.getModificationsUuidsToExclude(), new ReportInfos(reportUuid, modificationNode.getId()));
855-
getBuildInfos(nodeEntity.getParentNode(), rootNetworkUuid, buildInfos, nodeToBuildUuid);
838+
buildInfos.insertModificationInfos(modificationNode.getModificationGroupUuid(), rootNetworkNodeInfoEntity.getModificationsUuidsToExclude(), new ReportInfos(rootNetworkNodeInfoEntity.getModificationReportUuid(), modificationNode.getId()));
839+
getBuildInfos(nodeEntity.getParentNode(), rootNetworkUuid, buildInfos);
856840
} else {
857841
buildInfos.setOriginVariantId(self.getVariantId(nodeEntity.getIdNode(), rootNetworkUuid));
858842
}
@@ -868,7 +852,7 @@ public BuildInfos getBuildInfos(UUID nodeUuid, UUID rootNetworkUuid) {
868852
throw new StudyException(BAD_NODE_TYPE, "The node " + entity.getIdNode() + " is not a modification node");
869853
} else {
870854
buildInfos.setDestinationVariantId(self.getVariantId(nodeUuid, rootNetworkUuid));
871-
getBuildInfos(entity, rootNetworkUuid, buildInfos, nodeUuid);
855+
getBuildInfos(entity, rootNetworkUuid, buildInfos);
872856
}
873857
}, () -> {
874858
throw new StudyException(ELEMENT_NOT_FOUND);

src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939

4040
import java.util.*;
4141
import java.util.concurrent.CompletableFuture;
42-
import java.util.function.Function;
4342
import java.util.stream.Collectors;
4443
import java.util.stream.Stream;
4544

@@ -131,7 +130,7 @@ private static RootNetworkNodeInfoEntity createDefaultEntity(UUID nodeUuid, Set<
131130
return RootNetworkNodeInfoEntity.builder()
132131
.nodeBuildStatus(NodeBuildStatusEmbeddable.from(BuildStatus.NOT_BUILT))
133132
.variantId(UUID.randomUUID().toString())
134-
.modificationReports(new HashMap<>(Map.of(nodeUuid, UUID.randomUUID())))
133+
.modificationReportUuid(UUID.randomUUID())
135134
.modificationsUuidsToExclude(modificationsToExclude)
136135
.blockedBuild(false)
137136
.build();
@@ -172,7 +171,7 @@ public void fillDeleteNodeInfo(UUID nodeUuid, DeleteNodeInfos deleteNodeInfos) {
172171
//get all rootnetworknodeinfo info linked to node
173172
List<RootNetworkNodeInfoEntity> rootNetworkNodeInfoEntities = rootNetworkNodeInfoRepository.findAllWithRootNetworkByNodeInfoId(nodeUuid);
174173
rootNetworkNodeInfoEntities.forEach(rootNetworkNodeInfoEntity -> {
175-
rootNetworkNodeInfoEntity.getModificationReports().forEach((key, value) -> deleteNodeInfos.addReportUuid(value));
174+
deleteNodeInfos.addReportUuid(rootNetworkNodeInfoEntity.getModificationReportUuid());
176175
rootNetworkNodeInfoEntity.getComputationReports().forEach((key, value) -> deleteNodeInfos.addReportUuid(value));
177176

178177
String variantId = rootNetworkNodeInfoEntity.getVariantId();
@@ -254,7 +253,6 @@ public InvalidateNodeInfos invalidateRootNetworkNode(RootNetworkNodeInfoEntity r
254253
InvalidateNodeInfos invalidateNodeInfos = getInvalidationComputationInfos(rootNetworkNodeInfoEntity, invalidateTreeParameters.computationsInvalidationMode());
255254

256255
if (notOnlyChildrenBuildStatus) {
257-
rootNetworkNodeInfoEntity.getModificationReports().forEach((key, value) -> invalidateNodeInfos.addReportUuid(value));
258256
invalidateNodeInfos.addVariantId(rootNetworkNodeInfoEntity.getVariantId());
259257
invalidateBuildStatus(rootNetworkNodeInfoEntity, invalidateNodeInfos);
260258
}
@@ -267,7 +265,6 @@ public InvalidateNodeInfos invalidateRootNetworkNode(RootNetworkNodeInfoEntity r
267265
private static void invalidateBuildStatus(RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity, InvalidateNodeInfos invalidateNodeInfos) {
268266
rootNetworkNodeInfoEntity.setNodeBuildStatus(NodeBuildStatusEmbeddable.from(BuildStatus.NOT_BUILT));
269267
rootNetworkNodeInfoEntity.setVariantId(UUID.randomUUID().toString());
270-
rootNetworkNodeInfoEntity.setModificationReports(new HashMap<>(Map.of(rootNetworkNodeInfoEntity.getNodeInfo().getId(), UUID.randomUUID())));
271268

272269
invalidateNodeInfos.addNodeUuid(rootNetworkNodeInfoEntity.getNodeInfo().getIdNode());
273270
}
@@ -481,8 +478,8 @@ public void updateRootNetworkNode(UUID nodeUuid, UUID rootNetworkUuid, RootNetwo
481478
if (rootNetworkNodeInfo.getVoltageInitResultUuid() != null) {
482479
rootNetworkNodeInfoEntity.setVoltageInitResultUuid(rootNetworkNodeInfo.getVoltageInitResultUuid());
483480
}
484-
if (rootNetworkNodeInfo.getModificationReports() != null) {
485-
rootNetworkNodeInfoEntity.setModificationReports(rootNetworkNodeInfo.getModificationReports());
481+
if (rootNetworkNodeInfo.getModificationReportUuid() != null) {
482+
rootNetworkNodeInfoEntity.setModificationReportUuid(rootNetworkNodeInfo.getModificationReportUuid());
486483
}
487484
}
488485

@@ -507,15 +504,14 @@ public Stream<CompletableFuture<Void>> getDeleteRootNetworkNodeInfosFutures(List
507504
public ModificationApplicationContext getNetworkModificationApplicationContext(UUID rootNetworkUuid, UUID nodeUuid, UUID networkUuid) {
508505
RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity = rootNetworkNodeInfoRepository.findWithModificationsToExcludeByNodeInfoIdAndRootNetworkId(nodeUuid, rootNetworkUuid).orElseThrow(() -> new StudyException(ROOT_NETWORK_NOT_FOUND));
509506
String variantId = rootNetworkNodeInfoEntity.getVariantId();
510-
UUID reportUuid = rootNetworkNodeInfoEntity.getModificationReports().get(nodeUuid);
507+
UUID reportUuid = rootNetworkNodeInfoEntity.getModificationReportUuid();
511508
return new ModificationApplicationContext(networkUuid, variantId, reportUuid, nodeUuid, rootNetworkNodeInfoEntity.getModificationsUuidsToExclude());
512509
}
513510

514511
private List<UUID> getReportUuids(RootNetworkNodeInfo rootNetworkNodeInfo) {
515-
return Stream.of(
516-
rootNetworkNodeInfo.getModificationReports().values().stream(),
512+
return Stream.concat(
513+
Stream.of(rootNetworkNodeInfo.getModificationReportUuid()),
517514
rootNetworkNodeInfo.getComputationReports().values().stream())
518-
.flatMap(Function.identity())
519515
.toList();
520516
}
521517

src/main/java/org/gridsuite/study/server/service/StudyService.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1743,8 +1743,6 @@ public void buildNode(@NonNull UUID studyUuid, @NonNull UUID nodeUuid, @NonNull
17431743
private void buildNode(@NonNull UUID studyUuid, @NonNull UUID nodeUuid, @NonNull UUID rootNetworkUuid, @NonNull String userId, AbstractWorkflowInfos workflowInfos) {
17441744
assertCanBuildNode(studyUuid, rootNetworkUuid, userId);
17451745
BuildInfos buildInfos = networkModificationTreeService.getBuildInfos(nodeUuid, rootNetworkUuid);
1746-
Map<UUID, UUID> nodeUuidToReportUuid = buildInfos.getReportsInfos().stream().collect(Collectors.toMap(ReportInfos::nodeUuid, ReportInfos::reportUuid));
1747-
networkModificationTreeService.setModificationReports(nodeUuid, rootNetworkUuid, nodeUuidToReportUuid);
17481746
networkModificationTreeService.updateNodeBuildStatus(nodeUuid, rootNetworkUuid, NodeBuildStatus.from(BuildStatus.BUILDING));
17491747
try {
17501748
networkModificationService.buildNode(nodeUuid, rootNetworkUuid, buildInfos, workflowInfos);
@@ -2342,11 +2340,9 @@ private void checkStudyContainsNode(UUID studyUuid, UUID nodeUuid) {
23422340

23432341
private ReportPage getParentNodesReportLogs(UUID nodeUuid, UUID rootNetworkUuid, String messageFilter, Set<String> severityLevels, boolean paged, Pageable pageable) {
23442342
List<UUID> nodeIds = nodesTree(nodeUuid);
2345-
Map<UUID, UUID> modificationReportsMap = networkModificationTreeService.getModificationReports(nodeUuid, rootNetworkUuid);
23462343

23472344
List<UUID> reportUuids = nodeIds.stream()
2348-
.map(nodeId -> modificationReportsMap.getOrDefault(nodeId,
2349-
networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid)))
2345+
.map(nodeId -> networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid))
23502346
.filter(Objects::nonNull)
23512347
.toList();
23522348
return reportService.getPagedMultipleReportLogs(reportUuids, messageFilter, severityLevels, paged, pageable);
@@ -2362,11 +2358,9 @@ public ReportPage getReportLogs(UUID nodeUuid, UUID rootNetworkUuid, UUID report
23622358

23632359
private String getSearchTermMatchesInParentNodesFilteredLogs(UUID nodeUuid, UUID rootNetworkUuid, Set<String> severityLevels, String messageFilter, String searchTerm, int pageSize) {
23642360
List<UUID> nodeIds = nodesTree(nodeUuid);
2365-
Map<UUID, UUID> modificationReportsMap = networkModificationTreeService.getModificationReports(nodeUuid, rootNetworkUuid);
23662361

23672362
List<UUID> reportUuids = nodeIds.stream()
2368-
.map(nodeId -> modificationReportsMap.getOrDefault(nodeId,
2369-
networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid)))
2363+
.map(nodeId -> networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid))
23702364
.filter(Objects::nonNull)
23712365
.toList();
23722366
return reportService.getSearchTermMatchesInMultipleFilteredLogs(reportUuids, severityLevels, messageFilter, searchTerm, pageSize);
@@ -2383,10 +2377,9 @@ public String getSearchTermMatchesInFilteredLogs(UUID nodeUuid, UUID rootNetwork
23832377
private Set<String> getParentNodesAggregatedReportSeverities(UUID nodeUuid, UUID rootNetworkUuid) {
23842378
List<UUID> nodeIds = nodesTree(nodeUuid);
23852379
Set<String> severities = new HashSet<>();
2386-
Map<UUID, UUID> modificationReportsMap = networkModificationTreeService.getModificationReports(nodeUuid, rootNetworkUuid);
23872380

23882381
for (UUID nodeId : nodeIds) {
2389-
UUID reportId = modificationReportsMap.getOrDefault(nodeId, networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid));
2382+
UUID reportId = networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid);
23902383
severities.addAll(reportService.getReportAggregatedSeverities(reportId));
23912384
}
23922385
return severities;
@@ -2430,10 +2423,9 @@ private List<Report> getNodeOnlyReport(UUID nodeUuid, UUID rootNetworkUuid, Set<
24302423
private List<Report> getAllModificationReports(UUID nodeUuid, UUID rootNetworkUuid, Set<String> severityLevels) {
24312424
List<UUID> nodeIds = nodesTree(nodeUuid);
24322425
List<Report> modificationReports = new ArrayList<>();
2433-
Map<UUID, UUID> modificationReportsMap = networkModificationTreeService.getModificationReports(nodeUuid, rootNetworkUuid);
24342426

24352427
for (UUID nodeId : nodeIds) {
2436-
UUID reportId = modificationReportsMap.getOrDefault(nodeId, networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid));
2428+
UUID reportId = networkModificationTreeService.getReportUuid(nodeId, rootNetworkUuid);
24372429
modificationReports.add(reportService.getReport(reportId, nodeId.toString(), severityLevels));
24382430
}
24392431

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
2+
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
3+
<changeSet author="labidiayo (generated)" id="1752675798879-18">
4+
<addColumn tableName="root_network_node_info">
5+
<column name="modification_report_uuid" type="uuid"/>
6+
</addColumn>
7+
</changeSet>
8+
<changeSet author="labidiayo (generated)" id="1752675798879-21">
9+
<sql>
10+
UPDATE root_network_node_info
11+
SET modification_report_uuid = (
12+
SELECT mr.modification_reports
13+
FROM modification_reports mr
14+
WHERE mr.modification_reports_key = root_network_node_info.node_info_id
15+
AND mr.root_network_node_info_entity_id = root_network_node_info.id
16+
LIMIT 1
17+
)
18+
WHERE EXISTS (
19+
SELECT 1
20+
FROM modification_reports mr2
21+
WHERE mr2.modification_reports_key = root_network_node_info.node_info_id
22+
AND mr2.root_network_node_info_entity_id = root_network_node_info.id
23+
);
24+
</sql>
25+
</changeSet>
26+
<changeSet author="labidiayo (generated)" id="1752675798879-23">
27+
<dropTable tableName="MODIFICATION_REPORTS"/>
28+
</changeSet>
29+
</databaseChangeLog>

0 commit comments

Comments
 (0)