aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-03-05 14:05:37 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2012-03-05 14:05:37 +0100
commit15efef19303c240d12ec345e774987ba8a075d8d (patch)
treea644815b44576bcf59fdd9c22dd581c4c6981b71 /sonar-core
parent449823bb51378c333f4028d1ff015d5c50e973d9 (diff)
downloadsonarqube-15efef19303c240d12ec345e774987ba8a075d8d.tar.gz
sonarqube-15efef19303c240d12ec345e774987ba8a075d8d.zip
Improve purge tasks of DbCleaner
* improve logs * decrease the nb of SQL requests required to purge aborted builds and historical data of directories/files
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java72
-rw-r--r--sonar-core/src/main/java/org/sonar/core/resource/ResourceDao.java35
-rw-r--r--sonar-core/src/main/java/org/sonar/core/resource/ResourceDto.java6
-rw-r--r--sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexDto.java12
-rw-r--r--sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexerMapper.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/resource/ResourceMapper.java5
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/resource/ResourceIndexerMapper.xml4
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml18
-rw-r--r--sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java6
-rw-r--r--sonar-core/src/test/java/org/sonar/core/resource/ResourceDaoTest.java16
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml (renamed from sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles-result.xml)42
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml (renamed from sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles.xml)8
12 files changed, 134 insertions, 94 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java b/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
index b448eeb8775..72322a2e180 100644
--- a/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
@@ -25,8 +25,11 @@ import org.apache.commons.lang.ArrayUtils;
import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.SqlSession;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.sonar.core.persistence.MyBatis;
import org.sonar.core.resource.ResourceDao;
+import org.sonar.core.resource.ResourceDto;
import java.util.Collections;
import java.util.List;
@@ -34,6 +37,7 @@ import java.util.List;
public class PurgeDao {
private final MyBatis mybatis;
private final ResourceDao resourceDao;
+ private static final Logger LOG = LoggerFactory.getLogger(PurgeDao.class);
public PurgeDao(MyBatis mybatis, ResourceDao resourceDao) {
this.mybatis = mybatis;
@@ -44,15 +48,14 @@ public class PurgeDao {
SqlSession session = mybatis.openBatchSession();
PurgeMapper purgeMapper = session.getMapper(PurgeMapper.class);
try {
- List<Long> projectIds = getProjectIds(rootResourceId, session);
- for (Long projectId : projectIds) {
- deleteAbortedBuilds(projectId, session, purgeMapper);
- deleteHistoricalData(projectId, scopesWithoutHistoricalData, session, purgeMapper);
- purge(projectId, session, purgeMapper);
+ List<ResourceDto> projects = getProjects(rootResourceId, session);
+ for (ResourceDto project : projects) {
+ deleteAbortedBuilds(project, session, purgeMapper);
+ purge(project, scopesWithoutHistoricalData, session, purgeMapper);
}
- for (Long projectId : projectIds) {
- disableOrphanResources(projectId, session, purgeMapper);
+ for (ResourceDto project : projects) {
+ disableOrphanResources(project, session, purgeMapper);
}
} finally {
MyBatis.closeQuietly(session);
@@ -60,27 +63,39 @@ public class PurgeDao {
return this;
}
- private void deleteAbortedBuilds(long projectId, SqlSession session, PurgeMapper purgeMapper) {
- PurgeSnapshotQuery query = PurgeSnapshotQuery.create()
- .setIslast(false)
- .setStatus(new String[]{"U"})
- .setRootProjectId(projectId);
- deleteSnapshots(query, session, purgeMapper);
- }
-
- private void deleteHistoricalData(long projectId, String[] scopesWithoutHistoricalData, SqlSession session, PurgeMapper purgeMapper) {
- if (!ArrayUtils.isEmpty(scopesWithoutHistoricalData)) {
+ private void deleteAbortedBuilds(ResourceDto project, SqlSession session, PurgeMapper purgeMapper) {
+ if (hasAbortedBuilds(project.getId(), purgeMapper)) {
+ LOG.info("<- Deleting aborted builds of " + project.getLongName());
PurgeSnapshotQuery query = PurgeSnapshotQuery.create()
- .setIslast(false)
- .setScopes(scopesWithoutHistoricalData)
- .setRootProjectId(projectId);
+ .setIslast(false)
+ .setStatus(new String[]{"U"})
+ .setRootProjectId(project.getId());
deleteSnapshots(query, session, purgeMapper);
}
}
- private void purge(final long projectId, final SqlSession session, final PurgeMapper purgeMapper) {
- List<Long> projectSnapshotIds = purgeMapper.selectSnapshotIds(PurgeSnapshotQuery.create().setResourceId(projectId).setIslast(false).setNotPurged(true));
+ private boolean hasAbortedBuilds(Long projectId, PurgeMapper purgeMapper) {
+ PurgeSnapshotQuery query = PurgeSnapshotQuery.create()
+ .setIslast(false)
+ .setStatus(new String[]{"U"})
+ .setResourceId(projectId);
+ return !purgeMapper.selectSnapshotIds(query).isEmpty();
+ }
+
+ private void purge(final ResourceDto project, final String[] scopesWithoutHistoricalData, final SqlSession session, final PurgeMapper purgeMapper) {
+ List<Long> projectSnapshotIds = purgeMapper.selectSnapshotIds(
+ PurgeSnapshotQuery.create().setResourceId(project.getId()).setIslast(false).setNotPurged(true)
+ );
for (final Long projectSnapshotId : projectSnapshotIds) {
+ // TODO log date
+ if (!ArrayUtils.isEmpty(scopesWithoutHistoricalData)) {
+ PurgeSnapshotQuery query = PurgeSnapshotQuery.create()
+ .setIslast(false)
+ .setScopes(scopesWithoutHistoricalData)
+ .setRootSnapshotId(projectSnapshotId);
+ deleteSnapshots(query, session, purgeMapper);
+ }
+
PurgeSnapshotQuery query = PurgeSnapshotQuery.create().setRootSnapshotId(projectSnapshotId).setNotPurged(true);
session.select("org.sonar.core.purge.PurgeMapper.selectSnapshotIds", query, new ResultHandler() {
public void handleResult(ResultContext resultContext) {
@@ -97,8 +112,8 @@ public class PurgeDao {
session.commit();
}
- private void disableOrphanResources(final long projectId, final SqlSession session, final PurgeMapper purgeMapper) {
- session.select("org.sonar.core.purge.PurgeMapper.selectResourceIdsToDisable", projectId, new ResultHandler() {
+ private void disableOrphanResources(final ResourceDto project, final SqlSession session, final PurgeMapper purgeMapper) {
+ session.select("org.sonar.core.purge.PurgeMapper.selectResourceIdsToDisable", project.getId(), new ResultHandler() {
public void handleResult(ResultContext resultContext) {
Long resourceId = (Long) resultContext.getResultObject();
if (resourceId != null) {
@@ -211,10 +226,11 @@ public class PurgeDao {
/**
* Load the whole tree of projects, including the project given in parameter.
*/
- private List<Long> getProjectIds(long rootProjectId, SqlSession session) {
- List<Long> projectIds = Lists.newArrayList(rootProjectId);
- projectIds.addAll(resourceDao.getDescendantProjectIds(rootProjectId, session));
- return projectIds;
+ private List<ResourceDto> getProjects(long rootProjectId, SqlSession session) {
+ List<ResourceDto> projects = Lists.newArrayList();
+ projects.add(resourceDao.getResource(rootProjectId, session));
+ projects.addAll(resourceDao.getDescendantProjects(rootProjectId, session));
+ return projects;
}
@VisibleForTesting
diff --git a/sonar-core/src/main/java/org/sonar/core/resource/ResourceDao.java b/sonar-core/src/main/java/org/sonar/core/resource/ResourceDao.java
index 421eca7304d..e97fb1d7795 100644
--- a/sonar-core/src/main/java/org/sonar/core/resource/ResourceDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/resource/ResourceDao.java
@@ -32,27 +32,40 @@ public class ResourceDao {
this.mybatis = mybatis;
}
- public List<Long> getDescendantProjectIds(long projectId) {
+ public ResourceDto getResource(long projectId) {
SqlSession session = mybatis.openSession();
try {
- return getDescendantProjectIds(projectId, session);
+ return getResource(projectId, session);
} finally {
MyBatis.closeQuietly(session);
}
}
- public List<Long> getDescendantProjectIds(long projectId, SqlSession session) {
+ public ResourceDto getResource(long projectId, SqlSession session) {
+ return session.getMapper(ResourceMapper.class).selectResource(projectId);
+ }
+
+ public List<ResourceDto> getDescendantProjects(long projectId) {
+ SqlSession session = mybatis.openSession();
+ try {
+ return getDescendantProjects(projectId, session);
+ } finally {
+ MyBatis.closeQuietly(session);
+ }
+ }
+
+ public List<ResourceDto> getDescendantProjects(long projectId, SqlSession session) {
ResourceMapper mapper = session.getMapper(ResourceMapper.class);
- List<Long> ids = Lists.newArrayList();
- appendChildProjectIds(projectId, mapper, ids);
- return ids;
+ List<ResourceDto> resources = Lists.newArrayList();
+ appendChildProjects(projectId, mapper, resources);
+ return resources;
}
- private void appendChildProjectIds(long projectId, ResourceMapper mapper, List<Long> ids) {
- List<Long> subProjectIds = mapper.selectDescendantProjectIds(projectId);
- for (Long subProjectId : subProjectIds) {
- ids.add(subProjectId);
- appendChildProjectIds(subProjectId, mapper, ids);
+ private void appendChildProjects(long projectId, ResourceMapper mapper, List<ResourceDto> resources) {
+ List<ResourceDto> subProjects = mapper.selectDescendantProjects(projectId);
+ for (ResourceDto subProject : subProjects) {
+ resources.add(subProject);
+ appendChildProjects(subProject.getId(), mapper, resources);
}
}
}
diff --git a/sonar-core/src/main/java/org/sonar/core/resource/ResourceDto.java b/sonar-core/src/main/java/org/sonar/core/resource/ResourceDto.java
index 8d0c3d2080c..4a672113359 100644
--- a/sonar-core/src/main/java/org/sonar/core/resource/ResourceDto.java
+++ b/sonar-core/src/main/java/org/sonar/core/resource/ResourceDto.java
@@ -21,18 +21,18 @@ package org.sonar.core.resource;
public final class ResourceDto {
- private Integer id;
+ private Long id;
private String name;
private String longName;
private Integer rootId;
private String scope;
private String qualifier;
- public Integer getId() {
+ public Long getId() {
return id;
}
- public ResourceDto setId(Integer id) {
+ public ResourceDto setId(Long id) {
this.id = id;
return this;
}
diff --git a/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexDto.java b/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexDto.java
index 2ef069dd27c..54bb5485953 100644
--- a/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexDto.java
+++ b/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexDto.java
@@ -24,8 +24,8 @@ public final class ResourceIndexDto {
private String key;
private int position;
private int nameSize;
- private int resourceId;
- private int rootProjectId;
+ private long resourceId;
+ private long rootProjectId;
private String qualifier;
public String getKey() {
@@ -46,20 +46,20 @@ public final class ResourceIndexDto {
return this;
}
- public int getResourceId() {
+ public long getResourceId() {
return resourceId;
}
- public ResourceIndexDto setResourceId(int i) {
+ public ResourceIndexDto setResourceId(long i) {
this.resourceId = i;
return this;
}
- public int getRootProjectId() {
+ public long getRootProjectId() {
return rootProjectId;
}
- public ResourceIndexDto setRootProjectId(int i) {
+ public ResourceIndexDto setRootProjectId(long i) {
this.rootProjectId = i;
return this;
}
diff --git a/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexerMapper.java b/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexerMapper.java
index d6785a7ad3b..53f00b440e5 100644
--- a/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexerMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/resource/ResourceIndexerMapper.java
@@ -21,9 +21,9 @@ package org.sonar.core.resource;
public interface ResourceIndexerMapper {
- ResourceIndexDto selectMasterIndexByResourceId(int resourceId);
+ ResourceIndexDto selectMasterIndexByResourceId(long resourceId);
- void deleteByResourceId(int resourceId);
+ void deleteByResourceId(long resourceId);
void insert(ResourceIndexDto dto);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/resource/ResourceMapper.java b/sonar-core/src/main/java/org/sonar/core/resource/ResourceMapper.java
index 24bdb00a289..626dfd61f12 100644
--- a/sonar-core/src/main/java/org/sonar/core/resource/ResourceMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/resource/ResourceMapper.java
@@ -22,6 +22,7 @@ package org.sonar.core.resource;
import java.util.List;
public interface ResourceMapper {
- SnapshotDto selectSnapshotById(Long snapshotId);
- List<Long> selectDescendantProjectIds(long rootProjectId);
+ SnapshotDto selectSnapshot(Long snapshotId);
+ ResourceDto selectResource(long id);
+ List<ResourceDto> selectDescendantProjects(long rootProjectId);
}
diff --git a/sonar-core/src/main/resources/org/sonar/core/resource/ResourceIndexerMapper.xml b/sonar-core/src/main/resources/org/sonar/core/resource/ResourceIndexerMapper.xml
index e5206a164be..b44c90dcc3e 100644
--- a/sonar-core/src/main/resources/org/sonar/core/resource/ResourceIndexerMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/resource/ResourceIndexerMapper.xml
@@ -41,13 +41,13 @@
and qualifier in ('TRK', 'VW', 'SVW')
</select>
- <select id="selectMasterIndexByResourceId" parameterType="int" resultType="ResourceIndex">
+ <select id="selectMasterIndexByResourceId" parameterType="long" resultType="ResourceIndex">
select kee as "key", resource_id as "resourceId"
from resource_index
where resource_id=#{id} and position=0
</select>
- <delete id="deleteByResourceId" parameterType="int">
+ <delete id="deleteByResourceId" parameterType="long">
delete from resource_index
where resource_id=#{id}
</delete>
diff --git a/sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml b/sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml
index f16cc1849dd..2245bab7513 100644
--- a/sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml
@@ -22,13 +22,25 @@
<result property="rootProjectId" column="root_project_id"/>
</resultMap>
+ <resultMap id="resourceResultMap" type="Resource">
+ <id property="id" column="id"/>
+ <result property="name" column="name"/>
+ <result property="longName" column="long_name"/>
+ <result property="rootId" column="root_id"/>
+ <result property="scope" column="scope"/>
+ <result property="qualifier" column="qualifier"/>
+ </resultMap>
+
+ <select id="selectResource" parameterType="long" resultMap="resourceResultMap">
+ select * from projects where id=#{id}
+ </select>
- <select id="selectSnapshotById" parameterType="int" resultMap="snapshotResultMap">
+ <select id="selectSnapshot" parameterType="long" resultMap="snapshotResultMap">
select * from snapshots where id=#{id}
</select>
- <select id="selectDescendantProjectIds" parameterType="long" resultType="long">
- select id from projects where scope='PRJ' and root_id=#{id}
+ <select id="selectDescendantProjects" parameterType="long" resultMap="resourceResultMap">
+ select * from projects where scope='PRJ' and root_id=#{id}
</select>
</mapper>
diff --git a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
index fbfe4661af2..0c6ea4e6d9a 100644
--- a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
@@ -125,10 +125,10 @@ public class PurgeDaoTest extends DaoTestCase {
}
@Test
- public void shouldPurgeDirectoriesAndFiles() {
- setupData("shouldPurgeDirectoriesAndFiles");
+ public void shouldDeleteHistoricalDataOfDirectoriesAndFiles() {
+ setupData("shouldDeleteHistoricalDataOfDirectoriesAndFiles");
dao.purge(1, new String[]{Scopes.DIRECTORY, Scopes.FILE});
- checkTables("shouldPurgeDirectoriesAndFiles", "projects", "snapshots");
+ checkTables("shouldDeleteHistoricalDataOfDirectoriesAndFiles", "projects", "snapshots");
}
@Test
diff --git a/sonar-core/src/test/java/org/sonar/core/resource/ResourceDaoTest.java b/sonar-core/src/test/java/org/sonar/core/resource/ResourceDaoTest.java
index 0e22ee43154..bdda1f21aeb 100644
--- a/sonar-core/src/test/java/org/sonar/core/resource/ResourceDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/resource/ResourceDaoTest.java
@@ -26,6 +26,7 @@ import org.sonar.core.persistence.DaoTestCase;
import java.util.List;
+import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.core.IsNot.not;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;
@@ -41,23 +42,20 @@ public class ResourceDaoTest extends DaoTestCase {
}
@Test
- public void testDescendantProjectIdsAndSelf() {
+ public void testDescendantProjects_do_not_include_self() {
setupData("fixture");
- List<Long> ids = dao.getDescendantProjectIds(1L);
+ List<ResourceDto> resources = dao.getDescendantProjects(1L);
- assertThat(ids, hasItems(2L));
- assertThat(ids.size(), Is.is(1));
+ assertThat(resources.size(), Is.is(1));
+ assertThat(resources.get(0).getId(), is(2L));
}
@Test
- public void testDescendantProjectIdsAndSelf_id_not_found() {
+ public void testDescendantProjects_id_not_found() {
setupData("fixture");
- List<Long> ids = dao.getDescendantProjectIds(33333L);
-
- assertThat(ids, not(nullValue()));
- assertThat(ids.size(), Is.is(0));
+ assertThat(dao.getDescendantProjects(33333L).size(), Is.is(0));
}
}
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
index a50174fdd99..c0f246cad7f 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
@@ -1,6 +1,6 @@
<!--
-What has been changed : purge_status=1 on snapshots 4, 5 and 6
+What has been changed : purge_status=1 on snapshot 4 (PRJ) and snapshots 5 and 6 (DIR/FIL) are deleted
-->
@@ -40,7 +40,7 @@ What has been changed : purge_status=1 on snapshots 4, 5 and 6
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="DIR" qualifier="DIR" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
<snapshots id="3"
@@ -51,7 +51,7 @@ What has been changed : purge_status=1 on snapshots 4, 5 and 6
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="FIL" qualifier="FIL" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
<!-- snapshots to be purged -->
<snapshots id="4"
@@ -64,25 +64,25 @@ What has been changed : purge_status=1 on snapshots 4, 5 and 6
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
- <snapshots id="5"
- project_id="2" parent_snapshot_id="4" root_project_id="1" root_snapshot_id="4"
- status="P" islast="[false]" purge_status="1"
- period1_mode="[null]" period1_param="[null]" period1_date="[null]"
- period2_mode="[null]" period2_param="[null]" period2_date="[null]"
- period3_mode="[null]" period3_param="[null]" period3_date="[null]"
- period4_mode="[null]" period4_param="[null]" period4_date="[null]"
- period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ <!--<snapshots id="5"-->
+ <!--project_id="2" parent_snapshot_id="4" root_project_id="1" root_snapshot_id="4"-->
+ <!--status="P" islast="[false]" purge_status="1"-->
+ <!--period1_mode="[null]" period1_param="[null]" period1_date="[null]"-->
+ <!--period2_mode="[null]" period2_param="[null]" period2_date="[null]"-->
+ <!--period3_mode="[null]" period3_param="[null]" period3_date="[null]"-->
+ <!--period4_mode="[null]" period4_param="[null]" period4_date="[null]"-->
+ <!--period5_mode="[null]" period5_param="[null]" period5_date="[null]"-->
+ <!--depth="[null]" scope="DIR" qualifier="DIR" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>-->
- <snapshots id="6"
- project_id="3" parent_snapshot_id="5" root_project_id="1" root_snapshot_id="4"
- status="P" islast="[false]" purge_status="1"
- period1_mode="[null]" period1_param="[null]" period1_date="[null]"
- period2_mode="[null]" period2_param="[null]" period2_date="[null]"
- period3_mode="[null]" period3_param="[null]" period3_date="[null]"
- period4_mode="[null]" period4_param="[null]" period4_date="[null]"
- period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ <!--<snapshots id="6"-->
+ <!--project_id="3" parent_snapshot_id="5" root_project_id="1" root_snapshot_id="4"-->
+ <!--status="P" islast="[false]" purge_status="1"-->
+ <!--period1_mode="[null]" period1_param="[null]" period1_date="[null]"-->
+ <!--period2_mode="[null]" period2_param="[null]" period2_date="[null]"-->
+ <!--period3_mode="[null]" period3_param="[null]" period3_date="[null]"-->
+ <!--period4_mode="[null]" period4_param="[null]" period4_date="[null]"-->
+ <!--period5_mode="[null]" period5_param="[null]" period5_date="[null]"-->
+ <!--depth="[null]" scope="FIL" qualifier="FIL" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>-->
</dataset> \ No newline at end of file
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
index 955b522db3f..03cbbfc847b 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldPurgeDirectoriesAndFiles.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
@@ -34,7 +34,7 @@
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="DIR" qualifier="DIR" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
<snapshots id="3"
@@ -45,7 +45,7 @@
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="FIL" qualifier="FIL" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
<!-- snapshots to be purged -->
<snapshots id="4"
@@ -66,7 +66,7 @@
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="DIR" qualifier="DIR" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
<snapshots id="6"
@@ -77,6 +77,6 @@
period3_mode="[null]" period3_param="[null]" period3_date="[null]"
period4_mode="[null]" period4_param="[null]" period4_date="[null]"
period5_mode="[null]" period5_param="[null]" period5_date="[null]"
- depth="[null]" scope="PRJ" qualifier="TRK" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
+ depth="[null]" scope="FIL" qualifier="FIL" created_at="2008-12-02 13:58:00.00" build_date="2008-12-02 13:58:00.00" version="[null]" path="[null]"/>
</dataset> \ No newline at end of file