From a6e127b39f864078041f71552d51767f9bb374a5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Mon, 1 Oct 2018 15:14:33 +0200 Subject: [PATCH] SONAR-11310 drop usages of CE_*.COMPONENT_UUID, CE_ACTIVITY.IS_LAST* --- .../org/sonar/db/version/schema-h2.ddl | 4 +- .../org/sonar/db/ce/CeActivityMapper.xml | 7 --- .../org/sonar/db/ce/CeQueueMapper.xml | 2 - .../java/org/sonar/db/purge/PurgeDaoTest.java | 2 +- .../db/migration/version/v74/DbVersion74.java | 1 + .../MakeCeActivityLastKeyColumnsNullable.java | 56 +++++++++++++++++++ .../version/v74/DbVersion74Test.java | 2 +- 7 files changed, 61 insertions(+), 13 deletions(-) create mode 100644 server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/MakeCeActivityLastKeyColumnsNullable.java diff --git a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl index ed0e309f56e..81a1b3b17a0 100644 --- a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl +++ b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl @@ -695,8 +695,8 @@ CREATE TABLE "CE_ACTIVITY" ( "TMP_MAIN_COMPONENT_UUID" VARCHAR(40) NULL, "ANALYSIS_UUID" VARCHAR(50) NULL, "STATUS" VARCHAR(15) NOT NULL, - "IS_LAST" BOOLEAN NOT NULL, - "IS_LAST_KEY" VARCHAR(55) NOT NULL, + "IS_LAST" BOOLEAN, + "IS_LAST_KEY" VARCHAR(55), "TMP_IS_LAST" BOOLEAN, "TMP_IS_LAST_KEY" VARCHAR(55), "TMP_MAIN_IS_LAST" BOOLEAN, 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 69c6504dead..b5be2b8d9aa 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 @@ -139,7 +139,6 @@ uuid, tmp_component_uuid, tmp_main_component_uuid, - component_uuid, analysis_uuid, status, task_type, @@ -147,8 +146,6 @@ tmp_is_last_key, tmp_main_is_last, tmp_main_is_last_key, - is_last, - is_last_key, submitter_uuid, submitted_at, worker_uuid, @@ -166,7 +163,6 @@ #{uuid,jdbcType=VARCHAR}, #{componentUuid,jdbcType=VARCHAR}, #{mainComponentUuid,jdbcType=VARCHAR}, - #{mainComponentUuid,jdbcType=VARCHAR}, #{analysisUuid,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{taskType,jdbcType=VARCHAR}, @@ -174,8 +170,6 @@ #{isLastKey,jdbcType=VARCHAR}, #{mainIsLast,jdbcType=BOOLEAN}, #{mainIsLastKey,jdbcType=VARCHAR}, - #{mainIsLast,jdbcType=BOOLEAN}, - #{mainIsLastKey,jdbcType=VARCHAR}, #{submitterUuid,jdbcType=VARCHAR}, #{submittedAt,jdbcType=BIGINT}, #{workerUuid,jdbcType=VARCHAR}, @@ -195,7 +189,6 @@ update ce_activity set tmp_is_last=${_false}, tmp_main_is_last=${_false}, - is_last=${_false}, updated_at=#{updatedAt,jdbcType=BIGINT} where (tmp_is_last=${_true} and tmp_is_last_key=#{isLastKey,jdbcType=VARCHAR}) 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 6eab90a67f8..3135f04da16 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 @@ -213,7 +213,6 @@ uuid, task_type, tmp_component_uuid, - component_uuid, tmp_main_component_uuid, status, submitter_uuid, @@ -226,7 +225,6 @@ #{taskType,jdbcType=VARCHAR}, #{componentUuid,jdbcType=VARCHAR}, #{mainComponentUuid,jdbcType=VARCHAR}, - #{mainComponentUuid,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{submitterUuid,jdbcType=VARCHAR}, 0, diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java index eb060efb539..616c4005674 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java @@ -414,7 +414,7 @@ public class PurgeDaoTest { dbSession.commit(); assertThat(db.countRowsOfTable("ce_queue")).isEqualTo(1); - assertThat(db.countSql("select count(*) from ce_queue where component_uuid='" + projectToBeDeleted.uuid() + "'")).isEqualTo(0); + assertThat(db.countSql("select count(*) from ce_queue where tmp_main_component_uuid='" + projectToBeDeleted.uuid() + "'")).isEqualTo(0); } @Test diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74.java index 82b34413d0b..642e3ef57f3 100644 --- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74.java +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74.java @@ -38,6 +38,7 @@ public class DbVersion74 implements DbVersion { .add(2308, "Populate CE_ACTIVITY.MAIN_COMPONENT_UUID 2/5", PopulateTmpColumnsToCeActivity.class) .add(2309, "Add CE_ACTIVITY.MAIN_LAST_KEY 1/6", AddTmpLastKeyColumnsToCeActivity.class) .add(2310, "Populate CE_ACTIVITY.MAIN_LAST_KEY 2/6", PopulateTmpLastKeyColumnsToCeActivity.class) + .add(2311, "Populate CE_ACTIVITY.MAIN_LAST_KEY 3/6", MakeCeActivityLastKeyColumnsNullable.class) ; } } diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/MakeCeActivityLastKeyColumnsNullable.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/MakeCeActivityLastKeyColumnsNullable.java new file mode 100644 index 00000000000..fc3b3b359dd --- /dev/null +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v74/MakeCeActivityLastKeyColumnsNullable.java @@ -0,0 +1,56 @@ +/* + * 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.server.platform.db.migration.version.v74; + +import java.sql.SQLException; +import org.sonar.db.Database; +import org.sonar.server.platform.db.migration.SupportsBlueGreen; +import org.sonar.server.platform.db.migration.def.BooleanColumnDef; +import org.sonar.server.platform.db.migration.def.VarcharColumnDef; +import org.sonar.server.platform.db.migration.sql.AlterColumnsBuilder; +import org.sonar.server.platform.db.migration.step.DdlChange; + +import static org.sonar.server.platform.db.migration.def.BooleanColumnDef.newBooleanColumnDefBuilder; +import static org.sonar.server.platform.db.migration.def.VarcharColumnDef.newVarcharColumnDefBuilder; + +@SupportsBlueGreen +public class MakeCeActivityLastKeyColumnsNullable extends DdlChange { + private static final BooleanColumnDef COLUMN_IS_LAST = newBooleanColumnDefBuilder() + .setColumnName("is_last") + .setIsNullable(true) + .build(); + private static final VarcharColumnDef COLUMN_IS_LAST_KEY = newVarcharColumnDefBuilder() + .setColumnName("is_last_key") + .setLimit(55) + .setIsNullable(true) + .build(); + + public MakeCeActivityLastKeyColumnsNullable(Database db) { + super(db); + } + + @Override + public void execute(Context context) throws SQLException { + context.execute(new AlterColumnsBuilder(getDialect(), "ce_activity") + .updateColumn(COLUMN_IS_LAST) + .updateColumn(COLUMN_IS_LAST_KEY) + .build()); + } +} diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74Test.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74Test.java index c0ba8282e1c..7f5028ad332 100644 --- a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74Test.java +++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v74/DbVersion74Test.java @@ -35,6 +35,6 @@ public class DbVersion74Test { @Test public void verify_migration_count() { - verifyMigrationCount(underTest, 11); + verifyMigrationCount(underTest, 12); } } -- 2.39.5