]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4603, SONAR-4589 Update project query in dryRun DB factory
authorJulien HENRY <julien.henry@sonarsource.com>
Tue, 3 Sep 2013 08:37:08 +0000 (10:37 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Tue, 3 Sep 2013 08:38:43 +0000 (10:38 +0200)
sonar-core/src/main/java/org/sonar/core/persistence/DryRunDatabaseFactory.java

index 8134c3d278e0a57520941b8e0dd689d8deb8b5c0..979d956f4824157a6a7b591c8c739763806a923e 100644 (file)
@@ -215,11 +215,12 @@ public class DryRunDatabaseFactory implements ServerComponent {
       .append("SELECT p.").append(returnOnlyIds ? "id" : "*")
       .append(" FROM projects p INNER JOIN snapshots s ON p.id = s.project_id")
       .append(" WHERE s.islast=").append(database.getDialect().getTrueSqlValue())
-      .append(" AND (")
-      .append("   s.root_project_id=").append(projectId)
-      .append("   OR p.id=").append(projectId)
-      .append("   OR p.root_id=").append(projectId)
-      .append(" )").toString();
+      .append(" AND s.root_project_id=").append(projectId)
+      .append(" UNION")
+      .append(" SELECT p.").append(returnOnlyIds ? "id" : "*")
+      .append(" FROM projects p")
+      .append(" WHERE p.id=").append(projectId)
+      .append(" OR p.root_id=").append(projectId).toString();
   }
 
   private BasicDataSource create(String dialect, String driver, String user, String password, String url) {