diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-02-20 15:29:36 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-02-20 15:33:50 +0100 |
commit | 224fd176a17f149a31c540061385232db76a5e27 (patch) | |
tree | 07d3a801abf352fe450d14e711d3e2373b5dc7a1 | |
parent | e5f27a8f539809437402e659f4fc0c03d79654ed (diff) | |
download | sonarqube-224fd176a17f149a31c540061385232db76a5e27.tar.gz sonarqube-224fd176a17f149a31c540061385232db76a5e27.zip |
Incremental indexing of activities
3 files changed, 25 insertions, 6 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java b/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java index f2c9b9561e3..7d4a636947f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java +++ b/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java @@ -58,11 +58,6 @@ public class ActivityDao extends BaseDao<ActivityMapper, ActivityDto, String> { throw new IllegalStateException("Cannot delete Log!"); } - @Override - protected String getSynchronizationStatementName() { - return "selectAll"; - } - public List<ActivityDto> findAll(DbSession session) { return mapper(session).selectAll(); } diff --git a/sonar-core/src/main/java/org/sonar/core/activity/db/ActivityMapper.java b/sonar-core/src/main/java/org/sonar/core/activity/db/ActivityMapper.java index 0d507e08a83..d7f5959c422 100644 --- a/sonar-core/src/main/java/org/sonar/core/activity/db/ActivityMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/activity/db/ActivityMapper.java @@ -19,6 +19,11 @@ */ package org.sonar.core.activity.db; +import org.apache.ibatis.annotations.Param; + +import javax.annotation.Nullable; + +import java.sql.Timestamp; import java.util.List; /** @@ -29,4 +34,6 @@ public interface ActivityMapper { void insert(ActivityDto rule); List<ActivityDto> selectAll(); + + List<ActivityDto> selectAfterDate(@Nullable @Param("date") Timestamp timestamp); } diff --git a/sonar-core/src/main/resources/org/sonar/core/activity/db/ActivityMapper.xml b/sonar-core/src/main/resources/org/sonar/core/activity/db/ActivityMapper.xml index 0c516fa3f89..fecd0b0210f 100644 --- a/sonar-core/src/main/resources/org/sonar/core/activity/db/ActivityMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/activity/db/ActivityMapper.xml @@ -9,7 +9,7 @@ values (#{createdAt}, #{key}, #{type}, #{action}, #{author}, #{data}, #{message}) </insert> - <select id="selectAll" parameterType="map" resultType="Activity" > + <select id="selectAll" parameterType="map" resultType="Activity" fetchSize="${_scrollFetchSize}" resultSetType="FORWARD_ONLY"> SELECT created_at as "createdAt", log_type as "type", @@ -21,5 +21,22 @@ FROM activities </select> + + <select id="selectAfterDate" parameterType="map" resultType="Activity" fetchSize="${_scrollFetchSize}" resultSetType="FORWARD_ONLY"> + SELECT + created_at as "createdAt", + log_type as "type", + user_login as "author", + data_field as "data", + log_message as "message", + log_key as "key", + log_action as "action" + FROM activities + <where> + <if test="date != null"> + created_at >= #{date} + </if> + </where> + </select> </mapper> |