aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/sonar-dbcleaner-plugin
diff options
context:
space:
mode:
authorEvgeny Mandrikov <mandrikov@gmail.com>2011-09-01 19:06:46 +0400
committerEvgeny Mandrikov <mandrikov@gmail.com>2011-09-02 00:16:21 +0400
commit5ff8c8c74e58a9df51be059908a064a43a67c50d (patch)
tree557856493faeb208510a056b1d665f838f907402 /plugins/sonar-dbcleaner-plugin
parentd76c641b9f6ad77d26f1bc80f850ed3b2496a91d (diff)
downloadsonarqube-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')
-rw-r--r--plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeUtils.java9
-rw-r--r--plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots-result.xml5
-rw-r--r--plugins/sonar-dbcleaner-plugin/src/test/resources/org/sonar/plugins/dbcleaner/api/PurgeUtilsTest/purgeSnapshots.xml5
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>