summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2015-02-20 15:29:36 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2015-02-20 15:33:50 +0100
commit224fd176a17f149a31c540061385232db76a5e27 (patch)
tree07d3a801abf352fe450d14e711d3e2373b5dc7a1
parente5f27a8f539809437402e659f4fc0c03d79654ed (diff)
downloadsonarqube-224fd176a17f149a31c540061385232db76a5e27.tar.gz
sonarqube-224fd176a17f149a31c540061385232db76a5e27.zip
Incremental indexing of activities
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java5
-rw-r--r--sonar-core/src/main/java/org/sonar/core/activity/db/ActivityMapper.java7
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/activity/db/ActivityMapper.xml19
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 &gt;= #{date}
+ </if>
+ </where>
+ </select>
</mapper>