diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2018-11-29 15:54:08 +0100 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-12-05 20:20:58 +0100 |
commit | 21369995bc5443108b2521a3126bebd002ca6444 (patch) | |
tree | cb75ccb4f502cb8a31f47c671369458595cdb51d /server/sonar-db-dao | |
parent | 4ecd4bdcbc24f97a2d77aafb6273ce805976baaf (diff) | |
download | sonarqube-21369995bc5443108b2521a3126bebd002ca6444.tar.gz sonarqube-21369995bc5443108b2521a3126bebd002ca6444.zip |
SONAR-11455 improve SQL and network perf of PersistIssuesStep
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r-- | server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueMapper.java | 3 | ||||
-rw-r--r-- | server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml | 15 |
2 files changed, 18 insertions, 0 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueMapper.java index 90655308f90..5ae7382a4f7 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueMapper.java @@ -34,6 +34,8 @@ public interface IssueMapper { List<IssueDto> selectByKeys(List<String> keys); + List<IssueDto> selectByKeysIfNotUpdatedAt(@Param("keys") List<String> keys, @Param("updatedAt") long updatedAt); + List<ShortBranchIssueDto> selectOpenByComponentUuids(List<String> componentUuids); void insert(IssueDto issue); @@ -53,4 +55,5 @@ public interface IssueMapper { Collection<IssueGroupDto> selectIssueGroupsByBaseComponent( @Param("baseComponent") ComponentDto baseComponent, @Param("leakPeriodBeginningDate") long leakPeriodBeginningDate); + } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml index 90f2ccfaf03..9592c6831ce 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml @@ -261,6 +261,21 @@ </foreach> </select> + <select id="selectByKeysIfNotUpdatedAt" parameterType="map" resultType="Issue"> + select + <include refid="issueColumns"/> + from issues i + inner join rules r on r.id=i.rule_id + inner join projects p on p.uuid=i.component_uuid + inner join projects root on root.uuid=i.project_uuid + where + i.kee in + <foreach collection="keys" open="(" close=")" item="key" separator=","> + #{key,jdbcType=VARCHAR} + </foreach> + and i.updated_at <> #{updatedAt,jdbcType=BIGINT} + </select> + <select id="selectOpenByComponentUuids" parameterType="map" resultType="ShortBranchIssue"> select i.kee as kee, |