]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6854 WS permissions/template_groups fix queries for Oracle
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 29 Sep 2015 07:33:59 +0000 (09:33 +0200)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 29 Sep 2015 07:34:05 +0000 (09:34 +0200)
sonar-db/src/main/resources/org/sonar/db/permission/PermissionTemplateMapper.xml
sonar-db/src/test/java/org/sonar/db/permission/GroupWithPermissionTemplateDaoTest.java

index ca220bbbfb4644bc8de683094a2aa394682ff3c2..f173f86eb24d21e282b62928918ae48907a2dc85 100644 (file)
         AND ptg.template_id=#{templateId}
         AND ptg.group_id IS NULL
       </where>) as permission
+    FROM groups g
     ) groups
     <where>
       <if test="query.search() != null">
     AND ptg.template_id=#{templateId}
     UNION
     -- Add Anyone group permission
-    SELECT #{anyoneGroup} as name, NULL as description, ptg.permission_reference as permission
+    SELECT
+    #{anyoneGroup} as name,
+    NULL as description,
+    (select ptg.permission_reference
     FROM perm_templates_groups ptg
     <where>
       AND ptg.permission_reference=#{query.permission}
       AND ptg.template_id=#{templateId}
       AND ptg.group_id IS NULL
-    </where>
+    </where>) as permission
+    FROM groups g
     ) groups
     <where>
       <if test="groupName!=null">
index 90bc61b34088d3c7bdcf2f3bd7bd44d6bf03d1a6..0370a002ced84d2565845d6ff03b00578b72c220 100644 (file)
@@ -75,7 +75,7 @@ public class GroupWithPermissionTemplateDaoTest {
   }
 
   @Test
-  public void anyone_group_is_not_returned_when_it_has_no_permission() {
+  public void anyone_group_is_returned_when_it_has_no_permission() {
     dbTester.prepareDbUnit(getClass(), "groups_with_permissions.xml");
 
     // Anyone group is returned even if it doesn't have the permission