From db0776c59be1a09d9923ec62bc940798be432aef Mon Sep 17 00:00:00 2001 From: Jacek Date: Mon, 29 Jun 2020 10:04:59 +0200 Subject: [PATCH] Fix oracle selects with case for issue sync progress --- .../main/java/org/sonar/db/ce/CeQueueDao.java | 2 +- .../java/org/sonar/db/ce/CeQueueMapper.java | 2 +- .../org/sonar/db/ce/CeActivityMapper.xml | 17 +++++++++++--- .../org/sonar/db/ce/CeQueueMapper.xml | 13 +++++++++-- .../org/sonar/db/component/BranchMapper.xml | 22 +++++++++++++++++-- .../sonar/db/component/ComponentMapper.xml | 11 +++++++++- .../java/org/sonar/db/ce/CeQueueDaoTest.java | 2 ++ 7 files changed, 59 insertions(+), 10 deletions(-) diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java index 8b396644d2b..2cd18110226 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java @@ -191,7 +191,7 @@ public class CeQueueDao implements Dao { } public boolean hasAnyIssueSyncTaskPendingOrInProgress(DbSession dbSession) { - return mapper(dbSession).hasAnyIssueSyncTaskPendingOrInProgress() > 0; + return mapper(dbSession).hasAnyIssueSyncTaskPendingOrInProgress(); } private static CeQueueMapper mapper(DbSession session) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java index 8483d81a109..aa3b5f5206f 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java @@ -85,6 +85,6 @@ public interface CeQueueMapper { int deleteByUuid(@Param("uuid") String uuid, @Nullable @Param("deleteIf") DeleteIf deleteIf); - short hasAnyIssueSyncTaskPendingOrInProgress(); + boolean hasAnyIssueSyncTaskPendingOrInProgress(); } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml index 1cf33d044f3..cc24d1b5dab 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml @@ -248,16 +248,27 @@ and ca.is_last = ${_true} - + + + + + select case when exists ( @@ -329,6 +329,15 @@ then 1 else 0 end + + + + + diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/BranchMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/BranchMapper.xml index e94c442cdf2..af4785fd8d9 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/BranchMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/BranchMapper.xml @@ -139,7 +139,7 @@ and pb.created_at >= #{sinceDate, jdbcType=BIGINT} - + + + + + select case when exists ( @@ -203,6 +212,15 @@ then 1 else 0 end + + + + + diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml index 0254590f60a..1694f814ea0 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml @@ -751,7 +751,7 @@ order by ncloc desc - + + + + diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDaoTest.java index f6b86a5d3ad..21b8b38be47 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDaoTest.java @@ -688,6 +688,7 @@ public class CeQueueDaoTest { private void insertView(String view_uuid) { ComponentDto view = new ComponentDto(); view.setQualifier("VW"); + view.setDbKey(view_uuid + "_key"); view.setUuid(view_uuid); view.setOrganizationUuid("org_uuid"); view.setPrivate(false); @@ -701,6 +702,7 @@ public class CeQueueDaoTest { private void insertBranch(String uuid) { ComponentDto branch = new ComponentDto(); branch.setQualifier("TRK"); + branch.setDbKey(uuid + "_key"); branch.setUuid(uuid); branch.setOrganizationUuid("org_uuid"); branch.setPrivate(false); -- 2.39.5