From: Simon Brandhof Date: Tue, 17 Apr 2018 18:49:19 +0000 (+0200) Subject: Fix Quality flaws X-Git-Tag: 7.5~1236 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e582be977c992d38fff928388bb1f1ae928fd146;p=sonarqube.git Fix Quality flaws mainly by removing unused code --- diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java index 28186aac046..6e31c0b3af2 100644 --- a/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java +++ b/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java @@ -119,16 +119,6 @@ public class InternalCeQueueImplTest { verifyCeTask(taskSubmit, task, null); } - @Test - public void submit_fails_with_ISE_if_paused() { - underTest.pauseSubmit(); - - expectedException.expect(IllegalStateException.class); - expectedException.expectMessage("Compute Engine does not currently accept new tasks"); - - submit(CeTaskTypes.REPORT, "PROJECT_1"); - } - @Test public void massSubmit_returns_tasks_for_each_CeTaskSubmit_populated_from_CeTaskSubmit_and_creates_CeQueue_row_for_each() { CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, "PROJECT_1", "rob"); @@ -688,15 +678,6 @@ public class InternalCeQueueImplTest { return dto; } - @Test - public void pause_and_resume_submits() { - assertThat(underTest.isSubmitPaused()).isFalse(); - underTest.pauseSubmit(); - assertThat(underTest.isSubmitPaused()).isTrue(); - underTest.resumeSubmit(); - assertThat(underTest.isSubmitPaused()).isFalse(); - } - private void verifyCeTask(CeTaskSubmit taskSubmit, CeTask task, @Nullable ComponentDto componentDto) { if (componentDto == null) { assertThat(task.getOrganizationUuid()).isEqualTo(defaultOrganizationProvider.get().getUuid()); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java deleted file mode 100644 index 664fd6ce4f6..00000000000 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2018 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonar.db; - -public class DaoDatabaseUtils extends DatabaseUtils { - - /** - * Returns an escaped value in parameter, with the desired wildcards. Suitable to be used in a like sql query
- * Escapes the "/", "%" and "_" characters.
- * - * You must add "ESCAPE '/'" after your like query. It defines '/' as the escape character. - */ - public static String buildLikeValue(String value, WildcardPosition wildcardPosition) { - String escapedValue = escapePercentAndUnderscore(value); - String wildcard = "%"; - switch (wildcardPosition) { - case BEFORE: - escapedValue = wildcard + escapedValue; - break; - case AFTER: - escapedValue += wildcard; - break; - case BEFORE_AND_AFTER: - escapedValue = wildcard + escapedValue + wildcard; - break; - default: - throw new UnsupportedOperationException("Unhandled WildcardPosition: " + wildcardPosition); - } - - return escapedValue; - } - - /** - * Replace escape percent and underscore by adding a slash just before - */ - private static String escapePercentAndUnderscore(String value) { - return value - .replaceAll("/", "//") - .replaceAll("%", "/%") - .replaceAll("_", "/_"); - } -} diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java new file mode 100644 index 00000000000..e9eb4cd57ad --- /dev/null +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java @@ -0,0 +1,63 @@ +/* + * SonarQube + * Copyright (C) 2009-2018 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.db; + +public class DaoUtils { + + private DaoUtils() { + // prevent new instances + } + + /** + * Returns an escaped value in parameter, with the desired wildcards. Suitable to be used in a like sql query
+ * Escapes the "/", "%" and "_" characters.
+ * + * You must add "ESCAPE '/'" after your like query. It defines '/' as the escape character. + */ + public static String buildLikeValue(String value, WildcardPosition wildcardPosition) { + String escapedValue = escapePercentAndUnderscore(value); + String wildcard = "%"; + switch (wildcardPosition) { + case BEFORE: + escapedValue = wildcard + escapedValue; + break; + case AFTER: + escapedValue += wildcard; + break; + case BEFORE_AND_AFTER: + escapedValue = wildcard + escapedValue + wildcard; + break; + default: + throw new UnsupportedOperationException("Unhandled WildcardPosition: " + wildcardPosition); + } + + return escapedValue; + } + + /** + * Replace escape percent and underscore by adding a slash just before + */ + private static String escapePercentAndUnderscore(String value) { + return value + .replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } +} 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 42260c55ae9..318c8b5ac0c 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 @@ -114,13 +114,6 @@ public class CeQueueDao implements Dao { mapper(session).deleteByUuid(uuid); } - /** - * Update all rows with: STATUS='PENDING', STARTED_AT=NULL, UPDATED_AT={now} - */ - public void resetAllToPendingStatus(DbSession session) { - mapper(session).resetAllToPendingStatus(system2.now()); - } - /** * Update all tasks for the specified worker uuid which are not PENDING to: * STATUS='PENDING', STARTED_AT=NULL, UPDATED_AT={now}. @@ -179,7 +172,7 @@ public class CeQueueDao implements Dao { CeQueueDto result = mapper(session).selectByUuid(eligible.getUuid()); session.commit(); - return Optional.of(result); + return Optional.ofNullable(result); } 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 0d36f3e31a6..c2e301185bd 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 @@ -63,8 +63,6 @@ public interface CeQueueMapper { void insert(CeQueueDto dto); - void resetAllToPendingStatus(@Param("updatedAt") long updatedAt); - int resetToPendingForWorker(@Param("workerUuid") String workerUuid, @Param("updatedAt") long updatedAt); int updateIf(@Param("uuid") String uuid, diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java index 591fcedd389..a3e3d2f708c 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java @@ -21,7 +21,6 @@ package org.sonar.db.ce; import java.io.IOException; import java.io.InputStream; -import java.nio.charset.Charset; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -37,11 +36,10 @@ import org.sonar.db.DatabaseUtils; import org.sonar.db.DbSession; import static com.google.common.base.Preconditions.checkArgument; +import static java.nio.charset.StandardCharsets.UTF_8; public class CeScannerContextDao implements Dao { - private static final Charset UTF_8 = Charset.forName("UTF-8"); - private final System2 system; public CeScannerContextDao(System2 system) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java index 004a690e5c2..0eb7ca5583c 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java @@ -34,10 +34,6 @@ public class CeTaskCharacteristicDao implements Dao { } } - public List selectByTaskUuid(DbSession dbSession, String taskUuid) { - return mapper(dbSession).selectByTaskUuid(taskUuid); - } - public List selectByTaskUuids(DbSession dbSession, List taskUuids) { return executeLargeInputs(taskUuids, uuid -> mapper(dbSession).selectByTaskUuids(uuid)); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java index a3e0eaaa3c2..01fb720fd71 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java @@ -24,8 +24,6 @@ import org.apache.ibatis.annotations.Param; public interface CeTaskCharacteristicMapper { - List selectByTaskUuid(@Param("taskUuid") String taskUuid); - List selectByTaskUuids(@Param("taskUuids") List taskUuids); void insert(CeTaskCharacteristicDto taskCharacteristic); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java index 136114d437f..e5dfb2a5dfa 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java @@ -44,7 +44,7 @@ import static java.util.Collections.emptyList; import static java.util.Objects.requireNonNull; import static org.apache.commons.lang.StringUtils.isBlank; import static org.sonar.core.util.stream.MoreCollectors.toList; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.DatabaseUtils.checkThatNotTooManyConditions; import static org.sonar.db.DatabaseUtils.executeLargeInputs; import static org.sonar.db.DatabaseUtils.executeLargeInputsIntoSet; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java index fad8823a8b9..bd41e5534a1 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java @@ -34,7 +34,7 @@ import org.sonar.db.WildcardPosition; import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; import static org.apache.commons.lang.StringUtils.substringBeforeLast; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.component.ComponentValidator.checkComponentKey; import static org.sonar.db.component.ComponentValidator.checkComponentLongName; import static org.sonar.db.component.ComponentValidator.checkComponentName; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java index 1696f21a78d..487b7b2a252 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java @@ -27,7 +27,7 @@ import javax.annotation.Nullable; import org.sonar.db.WildcardPosition; import static com.google.common.base.Preconditions.checkArgument; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; public class ComponentQuery { private final String nameOrKeyQuery; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java index cdfb21c34e8..ed79a11252b 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java @@ -28,7 +28,7 @@ import org.sonar.db.WildcardPosition; import static com.google.common.collect.Lists.newArrayList; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class ComponentTreeQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java index 2ed5d393061..7269ad89551 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java @@ -30,7 +30,7 @@ import org.sonar.db.RowNotFoundException; import org.sonar.db.WildcardPosition; import org.sonar.db.component.ComponentDto; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.DatabaseUtils.executeLargeInputs; public class IssueDao implements Dao { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java index 9f24b660eee..4fb1a8cbed3 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java @@ -28,7 +28,7 @@ import org.sonar.db.component.ComponentDto; import static com.google.common.collect.Lists.newArrayList; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class MeasureTreeQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java index 82d61a80daa..85ee4a0c1c5 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java @@ -30,7 +30,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; import static org.apache.commons.lang.StringUtils.defaultIfBlank; import static org.sonar.api.utils.Paging.offset; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; /** * Query used to get users and groups permissions diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java index 3d9ebc7ca11..4a18863de83 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java @@ -26,7 +26,7 @@ import java.util.Set; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.apache.commons.lang.StringUtils; -import org.sonar.db.DaoDatabaseUtils; +import org.sonar.db.DaoUtils; import org.sonar.db.WildcardPosition; public class ProjectQgateAssociationQuery { @@ -62,7 +62,7 @@ public class ProjectQgateAssociationQuery { if (this.projectSearch == null) { this.projectSearchUpperLikeSql = null; } else { - this.projectSearchUpperLikeSql = DaoDatabaseUtils.buildLikeValue(projectSearch.toUpperCase(Locale.ENGLISH), WildcardPosition.BEFORE_AND_AFTER); + this.projectSearchUpperLikeSql = DaoUtils.buildLikeValue(projectSearch.toUpperCase(Locale.ENGLISH), WildcardPosition.BEFORE_AND_AFTER); } this.pageSize = builder.pageSize; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java index a52cf754038..91f363d84dd 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java @@ -29,7 +29,7 @@ import org.sonar.db.organization.OrganizationDto; import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class SearchGroupsQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java index 9aaf840adfd..dbf04d6e0ff 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java @@ -30,7 +30,7 @@ import org.sonar.db.organization.OrganizationDto; import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class SearchUsersQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java index 907ca1faa4b..870058ab6c0 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java @@ -30,7 +30,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.ibatis.session.RowBounds; import org.sonar.api.utils.System2; import org.sonar.db.Dao; -import org.sonar.db.DaoDatabaseUtils; +import org.sonar.db.DaoUtils; import org.sonar.db.DbSession; import org.sonar.db.WildcardPosition; @@ -108,7 +108,7 @@ public class GroupDao implements Dao { } String upperCasedNameQuery = StringUtils.upperCase(query, Locale.ENGLISH); - return DaoDatabaseUtils.buildLikeValue(upperCasedNameQuery, WildcardPosition.BEFORE_AND_AFTER); + return DaoUtils.buildLikeValue(upperCasedNameQuery, WildcardPosition.BEFORE_AND_AFTER); } public List selectByOrganizationUuid(DbSession dbSession, String organizationUuid) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java index 6bd36c6288a..e09497c060b 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java @@ -29,7 +29,7 @@ import org.apache.commons.lang.StringUtils; import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class UserMembershipQuery { diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml index f10b38becf1..714e281c2a3 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml @@ -228,15 +228,6 @@ ) - - update ce_queue set - status='PENDING', - started_at=NULL, - updated_at=#{updatedAt,jdbcType=BIGINT} - where - status <> 'PENDING' - - update ce_queue set status='PENDING', diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml index 2e65de2cce9..942b031c50b 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml @@ -10,15 +10,6 @@ c.text_value as "value" - -