Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
17cf6816
Commit
17cf6816
authored
Sep 27, 2017
by
Greg Stark
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add an partial index on push_rules(is_sample)
parent
09cdabd2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
0 deletions
+51
-0
changelogs/unreleased-ee/add-pushrules-issample-partial-index2.yml
...s/unreleased-ee/add-pushrules-issample-partial-index2.yml
+5
-0
db/migrate/20170920091408_add_index_for_pushrules_is_sample.rb
...grate/20170920091408_add_index_for_pushrules_is_sample.rb
+45
-0
db/schema.rb
db/schema.rb
+1
-0
No files found.
changelogs/unreleased-ee/add-pushrules-issample-partial-index2.yml
0 → 100644
View file @
17cf6816
---
title
:
Add partial index on push_rules.is_sample
merge_request
:
author
:
type
:
other
db/migrate/20170920091408_add_index_for_pushrules_is_sample.rb
0 → 100644
View file @
17cf6816
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
class
AddIndexForPushrulesIsSample
<
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!
# Careful, on MySQL the where clause is ignored. We make the index
# on the same column as the WHERE clause (is_sample) even though
# this is generally a silly thing to do because that way on MySQL
# the resulting index on is_sample will still fix the same
# queries. It'll just waste space indexing all rows where is_sample
# is false as well. In this case there's only a single row where
# is_sample is true so having it be the index key is harmless.
def
up
return
if
index_exists?
:push_rules
,
:is_sample
add_concurrent_index
(
:push_rules
,
:is_sample
,
where:
"is_sample"
)
end
def
down
return
unless
index_exists?
:push_rules
,
:is_sample
remove_concurrent_index
(
:push_rules
,
:is_sample
,
where:
"is_sample"
)
end
end
db/schema.rb
View file @
17cf6816
...
...
@@ -1618,6 +1618,7 @@ ActiveRecord::Schema.define(version: 20170928100231) do
t
.
string
"branch_name_regex"
end
add_index
"push_rules"
,
[
"is_sample"
],
name:
"index_push_rules_on_is_sample"
,
where:
"is_sample"
,
using: :btree
add_index
"push_rules"
,
[
"project_id"
],
name:
"index_push_rules_on_project_id"
,
using: :btree
create_table
"redirect_routes"
,
force: :cascade
do
|
t
|
...
...
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