BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
3387df16
Commit
3387df16
authored
Sep 27, 2017
by
Greg Stark
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add (partial) index on Labels.template
parent
5b56cd3b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
0 deletions
+51
-0
add-labels-template-index.yml
changelogs/unreleased/add-labels-template-index.yml
+5
-0
20170927122209_add_partial_index_for_labels_template.rb
...e/20170927122209_add_partial_index_for_labels_template.rb
+45
-0
schema.rb
db/schema.rb
+1
-0
No files found.
changelogs/unreleased/add-labels-template-index.yml
0 → 100644
View file @
3387df16
---
title
:
Add (partial) index on Labels.template
merge_request
:
author
:
type
:
other
db/migrate/20170927122209_add_partial_index_for_labels_template.rb
0 → 100644
View file @
3387df16
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
class
AddPartialIndexForLabelsTemplate
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
# Set this constant to true if this migration requires downtime.
DOWNTIME
=
false
# When a migration requires downtime you **must** uncomment the following
# constant and define a short and easy to understand explanation as to why the
# migration requires downtime.
# DOWNTIME_REASON = ''
# When using the methods "add_concurrent_index", "remove_concurrent_index" or
# "add_column_with_default" you must disable the use of transactions
# as these methods can not run in an existing transaction.
# When using "add_concurrent_index" or "remove_concurrent_index" methods make sure
# that either of them is the _only_ method called in the migration,
# any other changes should go in a separate migration.
# This ensures that upon failure _only_ the index creation or removing fails
# and can be retried or reverted easily.
#
# To disable transactions uncomment the following line and remove these
# comments:
disable_ddl_transaction!
# Note this is a partial index in Postgres but MySQL will ignore the
# partial index clause. By making it an index on "template" this
# means the index will still accomplish the same goal of optimizing
# a query with "where template = true" on MySQL -- it'll just take
# more space. In this case the number of records with template=true
# is expected to be very small (small enough to display on a single
# web page) so it's ok to filter or sort them without the index
# anyways.
def
up
add_concurrent_index
"labels"
,
[
"template"
],
where:
"template"
end
def
down
remove_concurrent_index
"labels"
,
[
"template"
],
where:
"template"
end
end
db/schema.rb
View file @
3387df16
...
...
@@ -730,6 +730,7 @@ ActiveRecord::Schema.define(version: 20170928100231) do
add_index
"labels"
,
[
"group_id"
,
"project_id"
,
"title"
],
name:
"index_labels_on_group_id_and_project_id_and_title"
,
unique:
true
,
using: :btree
add_index
"labels"
,
[
"project_id"
],
name:
"index_labels_on_project_id"
,
using: :btree
add_index
"labels"
,
[
"template"
],
name:
"index_labels_on_template"
,
where:
"template"
,
using: :btree
add_index
"labels"
,
[
"title"
],
name:
"index_labels_on_title"
,
using: :btree
add_index
"labels"
,
[
"type"
,
"project_id"
],
name:
"index_labels_on_type_and_project_id"
,
using: :btree
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment