diff options
author | Fabrice Bellingard <bellingard@gmail.com> | 2012-07-06 14:30:10 +0200 |
---|---|---|
committer | Fabrice Bellingard <bellingard@gmail.com> | 2012-07-06 14:31:29 +0200 |
commit | b7fb648be56f846c25b70716f713805a9adb4653 (patch) | |
tree | fd9df7d18a7b070c2a49f88737391a0a8935de09 /sonar-server/src/main | |
parent | d58d980137ac422a690f35cdc940343760412e9d (diff) | |
download | sonarqube-b7fb648be56f846c25b70716f713805a9adb4653.tar.gz sonarqube-b7fb648be56f846c25b70716f713805a9adb4653.zip |
SONAR-1608 Add index on projects.root_id for better performances
=> when renaming project keys on large databases.
Diffstat (limited to 'sonar-server/src/main')
3 files changed, 37 insertions, 3 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project/prepare_key_bulk_update.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project/prepare_key_bulk_update.html.erb index e7cf3b3bd68..ae8efb98ee0 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project/prepare_key_bulk_update.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project/prepare_key_bulk_update.html.erb @@ -45,7 +45,7 @@ <input type="hidden" value="<%= @replacement_string -%>" name="replacement_string" id="replacement_string"> <br/> <%= submit_tag message('update_key.rename'), :id => 'bulk_update_button', :class => 'action' -%> - <a href="<%= url_for :action => 'key', :id => @project.key -%>"><%= message('cancel') -%></a> + <a href="<%= url_for :action => 'key', :id => @project.key -%>"><%= message('cancel') -%></a> <span class="loading" id="loading_bulk_update" style="display: none; padding: 3px 10px;"></span> <% end %> <% else %> diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/321_add_index_on_resource_root_id.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/321_add_index_on_resource_root_id.rb new file mode 100644 index 00000000000..01397f4ccaf --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/321_add_index_on_resource_root_id.rb @@ -0,0 +1,34 @@ +# +# Sonar, open source software quality management tool. +# Copyright (C) 2008-2012 SonarSource +# mailto:contact AT sonarsource DOT com +# +# Sonar 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. +# +# Sonar 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 Sonar; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 +# + +# +# Sonar 3.2 +# +class AddIndexOnResourceRootId < ActiveRecord::Migration + + def self.up + begin + add_index 'projects', 'root_id', :name => 'projects_root_id' + rescue + # Ignore, already exists + end + end + +end diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/README.txt b/sonar-server/src/main/webapp/WEB-INF/db/migrate/README.txt index 906efdf97d2..dcc2a5250ec 100644 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/README.txt +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/README.txt @@ -2,8 +2,8 @@ HOW TO ADD A MIGRATION * Jump some versions when adding the first Ruby on Rails migration of a new sonar version. For example if sonar 2.10 is 193, then sonar 2.11 should start at 200. * Complete the DDL files for Derby : - + sonar-core/src/main/resources/org/sonar/core/persistence/schema-derby.ddl - + sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql : + + sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl + + sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql : - add "INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('<THE MIGRATION ID>')" * Update the migration id defined in sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java * If a table is added or removed, then edit sonar-core/src/main/java/org/sonar/core/persistence/DatabaseUtils.java |