@Test public void delete_wasted_measures_when_purging_snapshot() { setupData("shouldDeleteWastedMeasuresWhenPurgingSnapshot"); SqlSession session = getMyBatis().openSession(); try { new PurgeCommands(session, profiler).purgeSnapshots(PurgeSnapshotQuery.create().setId(1L)); } finally { MyBatis.closeQuietly(session); } checkTables("shouldDeleteWastedMeasuresWhenPurgingSnapshot", "project_measures"); }
/** Test that all related data is purged. */ @Test public void shouldPurgeSnapshot() { setupData("shouldPurgeSnapshot"); SqlSession session = getMyBatis().openSession(); try { new PurgeCommands(session, profiler).purgeSnapshots(PurgeSnapshotQuery.create().setId(1L)); } finally { MyBatis.closeQuietly(session); } checkTables( "shouldPurgeSnapshot", "snapshots", "project_measures", "snapshot_sources", "duplications_index", "events", "dependencies", "snapshot_data"); }
@Test public void shouldDeleteSnapshots() { setupData("shouldDeleteSnapshots"); dao.deleteSnapshots(PurgeSnapshotQuery.create().setIslast(false).setResourceId(1L)); checkTables("shouldDeleteSnapshots", "snapshots"); }
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(); }