diff options
author | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-09-01 19:06:46 +0400 |
---|---|---|
committer | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-09-02 00:16:21 +0400 |
commit | 5ff8c8c74e58a9df51be059908a064a43a67c50d (patch) | |
tree | 557856493faeb208510a056b1d665f838f907402 /plugins/sonar-dbcleaner-plugin | |
parent | d76c641b9f6ad77d26f1bc80f850ed3b2496a91d (diff) | |
download | sonarqube-5ff8c8c74e58a9df51be059908a064a43a67c50d.tar.gz sonarqube-5ff8c8c74e58a9df51be059908a064a43a67c50d.zip |
SONAR-1091 CPD over different projects
* Improve table clone_blocks and so DbCloneIndex.
* Add purge of old clone blocks.
Diffstat (limited to 'plugins/sonar-dbcleaner-plugin')
3 files changed, 17 insertions, 2 deletions
diff --git a/plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeUtils.java b/plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeUtils.java index c417befec67..8a7451b9d80 100644 --- a/plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeUtils.java +++ b/plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeUtils.java @@ -24,6 +24,7 @@ import org.sonar.api.database.DatabaseSession; import org.sonar.api.database.model.*; import org.sonar.api.design.DependencyDto; import org.sonar.api.utils.TimeProfiler; +import org.sonar.jpa.entity.CloneBlock; import javax.persistence.Query; import java.util.List; @@ -58,6 +59,7 @@ public final class PurgeUtils { deleteSources(session, snapshotIds); deleteViolations(session, snapshotIds); deleteDependencies(session, snapshotIds); + deleteCloneBlocks(session, snapshotIds); deleteSnapshots(session, snapshotIds); } @@ -97,6 +99,13 @@ public final class PurgeUtils { } /** + * @since 2.11 + */ + private static void deleteCloneBlocks(DatabaseSession session, List<Integer> snapshotIds) { + executeQuery(session, "delete clone blocks", snapshotIds, "delete from " + CloneBlock.class.getSimpleName() + " e where e.snapshotId in (:ids)"); + } + + /** * Delete SNAPSHOTS table */ public static void deleteSnapshots(DatabaseSession session, List<Integer> snapshotIds) { diff --git a/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots-result.xml b/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots-result.xml index 912541667d8..23847972836 100644 --- a/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots-result.xml +++ b/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots-result.xml @@ -108,4 +108,7 @@ <!--parent_dependency_id="[null]" project_snapshot_id="1"--> <!--dep_usage="INHERITS" dep_weight="1" from_scope="FIL" to_scope="FIL"/>--> -</dataset>
\ No newline at end of file + <!--<clone_blocks id="1" project_snapshot_id="1" snapshot_id="3" hash="bb" index_in_file="0" start_line="0" end_line="0" />--> + <!--<clone_blocks id="2" project_snapshot_id="1" snapshot_id="4" hash="bb" index_in_file="0" start_line="0" end_line="0" />--> + +</dataset> diff --git a/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots.xml b/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots.xml index 2b92c63361a..6f2a149c513 100644 --- a/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots.xml +++ b/plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots.xml @@ -108,4 +108,7 @@ parent_dependency_id="[null]" project_snapshot_id="1" dep_usage="INHERITS" dep_weight="1" from_scope="FIL" to_scope="FIL" /> -</dataset>
\ No newline at end of file + <clone_blocks id="1" project_snapshot_id="1" snapshot_id="3" hash="bb" index_in_file="0" start_line="0" end_line="0" /> + <clone_blocks id="2" project_snapshot_id="1" snapshot_id="4" hash="bb" index_in_file="0" start_line="0" end_line="0" /> + +</dataset> |