diff options
author | Teryk Bellahsene <teryk.bellahsene@sonarsource.com> | 2014-09-29 11:43:58 +0200 |
---|---|---|
committer | Teryk Bellahsene <teryk.bellahsene@sonarsource.com> | 2014-09-29 17:14:58 +0200 |
commit | 7de252ea61bdfc2cb33f74f04aa781d0ad773183 (patch) | |
tree | 04710c8a2bc8a74d2039ed0e5e90c56b2aa6e00e /sonar-core | |
parent | 64b43e759608ba4bec30be11dc9c6a0feed6fc8e (diff) | |
download | sonarqube-7de252ea61bdfc2cb33f74f04aa781d0ad773183.tar.gz sonarqube-7de252ea61bdfc2cb33f74f04aa781d0ad773183.zip |
SONAR-5624 clean analysis report tasks to pending when server is starting and truncate when upgrading
Diffstat (limited to 'sonar-core')
3 files changed, 41 insertions, 2 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java index 043fd5303e9..82ed36befae 100644 --- a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java +++ b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java @@ -34,7 +34,7 @@ public class AnalysisReportDto extends Dto<String> { private String data; public enum Status { - PENDING + PENDING, WORKING } public String getProjectKey() { diff --git a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportMapper.java b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportMapper.java index 0d6af52b8bc..c32f0610070 100644 --- a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportMapper.java @@ -19,9 +19,25 @@ */ package org.sonar.core.computation.db; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; + /** * since 5.0 */ public interface AnalysisReportMapper { void insert(AnalysisReportDto report); + + java.util.List<AnalysisReportDto> selectByProjectKey(String projectKey); + + /** + * startup task use only + */ + void cleanWithUpdateAllToPendingStatus(@Param("status") AnalysisReportDto.Status status, @Param("updatedAt") Date updatedAt); + + /** + * startup task use only + */ + void cleanWithTruncate(); } diff --git a/sonar-core/src/main/resources/org/sonar/core/computation/db/AnalysisReportMapper.xml b/sonar-core/src/main/resources/org/sonar/core/computation/db/AnalysisReportMapper.xml index d7b54447271..785e71a775e 100644 --- a/sonar-core/src/main/resources/org/sonar/core/computation/db/AnalysisReportMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/computation/db/AnalysisReportMapper.xml @@ -2,11 +2,34 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.sonar.core.computation.db.AnalysisReportMapper"> + <sql id="reportColumns"> + id, + project_key as projectKey, + report_status as status, + report_data as data, + created_at as createdAt, + updated_at as updatedAt + </sql> <insert id="insert" parameterType="AnalysisReport" useGeneratedKeys="true"> insert into analysis_reports (project_key, report_status, report_data, created_at, updated_at) values (#{projectKey}, #{status}, #{data}, #{createdAt}, #{updatedAt}) </insert> -</mapper> + <update id="cleanWithUpdateAllToPendingStatus" parameterType="map"> + update analysis_reports + set report_status=#{status}, updated_at=#{updatedAt} + </update> + + <delete id="cleanWithTruncate"> + truncate table analysis_reports + </delete> + + <select id="selectByProjectKey" parameterType="String" resultType="AnalysisReport"> + select + <include refid="reportColumns"/> + from analysis_reports + where project_key = #{projectKey} + </select> +</mapper>
\ No newline at end of file |