]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5625 Include the "enabled" column to the current "projects_kee" index
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 20 Oct 2014 10:05:54 +0000 (12:05 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 20 Oct 2014 10:05:54 +0000 (12:05 +0200)
server/sonar-web/src/main/webapp/WEB-INF/db/migrate/603_add_enabled_to_projects_kee_index.rb [new file with mode: 0644]
sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql
sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl

diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/603_add_enabled_to_projects_kee_index.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/603_add_enabled_to_projects_kee_index.rb
new file mode 100644 (file)
index 0000000..6615bc2
--- /dev/null
@@ -0,0 +1,39 @@
+#
+# SonarQube, open source software quality management tool.
+# Copyright (C) 2008-2014 SonarSource
+# mailto:contact AT sonarsource DOT com
+#
+# SonarQube 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.
+#
+# SonarQube 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.
+#
+
+#
+# SonarQube 4.5
+# SONAR-5625
+#
+class AddEnabledToProjectsKeeIndex < ActiveRecord::Migration
+
+  def self.up
+    remove_index :projects, :name => 'projects_kee'
+
+    if dialect=='mysql'
+      # Index of varchar column is limited to 767 bytes on mysql (<= 255 UTF-8 characters)
+      # See http://jira.codehaus.org/browse/SONAR-4137 and
+      # http://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html
+      add_index :projects, [:kee, :enabled], :name => 'projects_kee', :length => {:kee => 255}
+    else
+      add_index :projects, [:kee, :enabled], :name => 'projects_kee'
+    end
+  end
+end
index 9045874e393751a40120465effd71c9b920b0d8c..f8efc2cf9d3248f9f45a15d3efc5ac193c31da9d 100644 (file)
@@ -33,7 +33,7 @@ import java.util.List;
  */
 public class DatabaseVersion implements BatchComponent, ServerComponent {
 
-  public static final int LAST_VERSION = 602;
+  public static final int LAST_VERSION = 603;
 
   public static enum Status {
     UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL
index 7987b78321e1930a58722a40f86f66a852c2b9a9..1539b72a14292da0cb90c9fc6da382cc61df10e8 100644 (file)
@@ -257,6 +257,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('584');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('600');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('601');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('602');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('603');
 
 INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null);
 ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
index d3c9a53a3e493755c8b640b3c1dac26a47a97197..0afd7195b6eabbb6e2afe1a10581b6799075a170 100644 (file)
@@ -614,7 +614,7 @@ CREATE INDEX "PROPERTIES_KEY" ON "PROPERTIES" ("PROP_KEY");
 
 CREATE INDEX "MANUAL_MEASURES_RESOURCE_ID" ON "MANUAL_MEASURES" ("RESOURCE_ID");
 
-CREATE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE");
+CREATE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE", "ENABLED");
 
 CREATE INDEX "PROJECTS_ROOT_ID" ON "PROJECTS" ("ROOT_ID");