private void purgeSnapshots(final List<Long> snapshotIds) { // note that events are not deleted for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotDependencies(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotDuplications(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotSource(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotViolations(snapshotId); } session.commit(); List<Long> metricIdsWithoutHistoricalData = purgeMapper.selectMetricIdsWithoutHistoricalData(); if (!metricIdsWithoutHistoricalData.isEmpty()) { for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotWastedMeasures(snapshotId, metricIdsWithoutHistoricalData); } session.commit(); } List<Long> characteristicIds = purgeMapper.selectCharacteristicIdsToPurge(); if (!characteristicIds.isEmpty()) { for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotMeasuresOnCharacteristics(snapshotId, characteristicIds); } session.commit(); } for (Long snapshotId : snapshotIds) { purgeMapper.updatePurgeStatusToOne(snapshotId); } session.commit(); }
private void deleteSnapshots(final List<Long> snapshotIds) { for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotDependencies(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotDuplications(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotEvents(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotMeasureData(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotMeasures(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotSource(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshotViolations(snapshotId); } session.commit(); for (Long snapshotId : snapshotIds) { purgeMapper.deleteSnapshot(snapshotId); } session.commit(); }
void deleteResources(List<Long> resourceIds) { // Note : do not merge the delete statements into a single loop of resource ids. It's // voluntarily grouped by tables in order to benefit from JDBC batch mode. // Batch requests can only relate to the same PreparedStatement. for (Long resourceId : resourceIds) { deleteSnapshots(PurgeSnapshotQuery.create().setResourceId(resourceId)); } // possible missing optimization: filter requests according to resource scope for (Long resourceId : resourceIds) { purgeMapper.deleteResourceLinks(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceProperties(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceIndex(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceGroupRoles(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceUserRoles(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceManualMeasures(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceReviewComments(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceActionPlansReviews(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceReviews(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceActionPlans(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResourceEvents(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteResource(resourceId); } session.commit(); for (Long resourceId : resourceIds) { purgeMapper.deleteAuthors(resourceId); } session.commit(); }
List<Long> selectSnapshotIds(PurgeSnapshotQuery query) { return purgeMapper.selectSnapshotIds(query); }
void purgeSnapshots(final PurgeSnapshotQuery query) { purgeSnapshots(purgeMapper.selectSnapshotIds(query)); }