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
3e97ac20
Commit
3e97ac20
authored
Feb 06, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add index on order columns
parent
dd8dd92e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
9 deletions
+36
-9
CHANGELOG
CHANGELOG
+1
-1
app/finders/notes_finder.rb
app/finders/notes_finder.rb
+5
-6
app/models/note.rb
app/models/note.rb
+1
-1
db/migrate/20150206181414_add_index_to_created_at.rb
db/migrate/20150206181414_add_index_to_created_at.rb
+16
-0
db/schema.rb
db/schema.rb
+13
-1
No files found.
CHANGELOG
View file @
3e97ac20
...
...
@@ -10,7 +10,7 @@ v 7.8.0
- Add diff syntax highlighting in email-on-push service notifications (Hannes Rosenögger)
- Add API endpoint to fetch all changes on a MergeRequest (Jeroen van Baarsen)
- View note image attachments in new tab when clicked instead of downloading them
-
-
Improve sorting logic in UI and API. Explicitly define what sorting method used by default
- Allow more variations for commit messages closing issues (Julien Bianchi and Hannes Rosenögger)
-
-
...
...
app/finders/notes_finder.rb
View file @
3e97ac20
...
...
@@ -10,19 +10,18 @@ class NotesFinder
notes
=
case
target_type
when
"commit"
project
.
notes
.
for_commit_id
(
target_id
).
not_inline
.
fresh
project
.
notes
.
for_commit_id
(
target_id
).
not_inline
when
"issue"
project
.
issues
.
find
(
target_id
).
notes
.
inc_author
.
fresh
project
.
issues
.
find
(
target_id
).
notes
.
inc_author
when
"merge_request"
project
.
merge_requests
.
find
(
target_id
).
mr_and_commit_notes
.
inc_author
.
fresh
project
.
merge_requests
.
find
(
target_id
).
mr_and_commit_notes
.
inc_author
when
"snippet"
,
"project_snippet"
project
.
snippets
.
find
(
target_id
).
notes
.
fresh
project
.
snippets
.
find
(
target_id
).
notes
else
raise
'invalid target_type'
end
# Use overlapping intervals to avoid worrying about race conditions
notes
.
where
(
'updated_at > ?'
,
last_fetched_at
-
FETCH_OVERLAP
).
order
(
created_at: :asc
,
id: :asc
)
notes
.
where
(
'updated_at > ?'
,
last_fetched_at
-
FETCH_OVERLAP
).
fresh
end
end
app/models/note.rb
View file @
3e97ac20
...
...
@@ -49,7 +49,7 @@ class Note < ActiveRecord::Base
scope
:not_inline
,
->
{
where
(
line_code:
[
nil
,
''
])
}
scope
:system
,
->
{
where
(
system:
true
)
}
scope
:common
,
->
{
where
(
noteable_type:
[
""
,
nil
])
}
scope
:fresh
,
->
{
order
(
"created_at ASC, id ASC"
)
}
scope
:fresh
,
->
{
order
(
created_at: :asc
,
id: :asc
)
}
scope
:inc_author_project
,
->
{
includes
(
:project
,
:author
)
}
scope
:inc_author
,
->
{
includes
(
:author
)
}
...
...
db/migrate/20150206181414_add_index_to_created_at.rb
0 → 100644
View file @
3e97ac20
class
AddIndexToCreatedAt
<
ActiveRecord
::
Migration
def
change
add_index
"users"
,
[
:created_at
,
:id
]
add_index
"members"
,
[
:created_at
,
:id
]
add_index
"projects"
,
[
:created_at
,
:id
]
add_index
"issues"
,
[
:created_at
,
:id
]
add_index
"merge_requests"
,
[
:created_at
,
:id
]
add_index
"milestones"
,
[
:created_at
,
:id
]
add_index
"namespaces"
,
[
:created_at
,
:id
]
add_index
"notes"
,
[
:created_at
,
:id
]
add_index
"identities"
,
[
:created_at
,
:id
]
add_index
"keys"
,
[
:created_at
,
:id
]
add_index
"web_hooks"
,
[
:created_at
,
:id
]
add_index
"snippets"
,
[
:created_at
,
:id
]
end
end
db/schema.rb
View file @
3e97ac20
...
...
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
version:
2015020
5211843
)
do
ActiveRecord
::
Schema
.
define
(
version:
2015020
6181414
)
do
# These are extensions that must be enabled in order to support this database
enable_extension
"plpgsql"
...
...
@@ -94,6 +94,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
datetime
"updated_at"
end
add_index
"identities"
,
[
"created_at"
,
"id"
],
name:
"index_identities_on_created_at_and_id"
,
using: :btree
add_index
"identities"
,
[
"user_id"
],
name:
"index_identities_on_user_id"
,
using: :btree
create_table
"issues"
,
force:
true
do
|
t
|
...
...
@@ -113,6 +114,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
add_index
"issues"
,
[
"assignee_id"
],
name:
"index_issues_on_assignee_id"
,
using: :btree
add_index
"issues"
,
[
"author_id"
],
name:
"index_issues_on_author_id"
,
using: :btree
add_index
"issues"
,
[
"created_at"
,
"id"
],
name:
"index_issues_on_created_at_and_id"
,
using: :btree
add_index
"issues"
,
[
"created_at"
],
name:
"index_issues_on_created_at"
,
using: :btree
add_index
"issues"
,
[
"milestone_id"
],
name:
"index_issues_on_milestone_id"
,
using: :btree
add_index
"issues"
,
[
"project_id"
,
"iid"
],
name:
"index_issues_on_project_id_and_iid"
,
unique:
true
,
using: :btree
...
...
@@ -129,6 +131,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
string
"fingerprint"
end
add_index
"keys"
,
[
"created_at"
,
"id"
],
name:
"index_keys_on_created_at_and_id"
,
using: :btree
add_index
"keys"
,
[
"user_id"
],
name:
"index_keys_on_user_id"
,
using: :btree
create_table
"label_links"
,
force:
true
do
|
t
|
...
...
@@ -164,6 +167,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
end
add_index
"members"
,
[
"access_level"
],
name:
"index_members_on_access_level"
,
using: :btree
add_index
"members"
,
[
"created_at"
,
"id"
],
name:
"index_members_on_created_at_and_id"
,
using: :btree
add_index
"members"
,
[
"source_id"
,
"source_type"
],
name:
"index_members_on_source_id_and_source_type"
,
using: :btree
add_index
"members"
,
[
"type"
],
name:
"index_members_on_type"
,
using: :btree
add_index
"members"
,
[
"user_id"
],
name:
"index_members_on_user_id"
,
using: :btree
...
...
@@ -200,6 +204,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
add_index
"merge_requests"
,
[
"assignee_id"
],
name:
"index_merge_requests_on_assignee_id"
,
using: :btree
add_index
"merge_requests"
,
[
"author_id"
],
name:
"index_merge_requests_on_author_id"
,
using: :btree
add_index
"merge_requests"
,
[
"created_at"
,
"id"
],
name:
"index_merge_requests_on_created_at_and_id"
,
using: :btree
add_index
"merge_requests"
,
[
"created_at"
],
name:
"index_merge_requests_on_created_at"
,
using: :btree
add_index
"merge_requests"
,
[
"milestone_id"
],
name:
"index_merge_requests_on_milestone_id"
,
using: :btree
add_index
"merge_requests"
,
[
"source_branch"
],
name:
"index_merge_requests_on_source_branch"
,
using: :btree
...
...
@@ -219,6 +224,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
integer
"iid"
end
add_index
"milestones"
,
[
"created_at"
,
"id"
],
name:
"index_milestones_on_created_at_and_id"
,
using: :btree
add_index
"milestones"
,
[
"due_date"
],
name:
"index_milestones_on_due_date"
,
using: :btree
add_index
"milestones"
,
[
"project_id"
,
"iid"
],
name:
"index_milestones_on_project_id_and_iid"
,
unique:
true
,
using: :btree
add_index
"milestones"
,
[
"project_id"
],
name:
"index_milestones_on_project_id"
,
using: :btree
...
...
@@ -234,6 +240,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
string
"avatar"
end
add_index
"namespaces"
,
[
"created_at"
,
"id"
],
name:
"index_namespaces_on_created_at_and_id"
,
using: :btree
add_index
"namespaces"
,
[
"name"
],
name:
"index_namespaces_on_name"
,
using: :btree
add_index
"namespaces"
,
[
"owner_id"
],
name:
"index_namespaces_on_owner_id"
,
using: :btree
add_index
"namespaces"
,
[
"path"
],
name:
"index_namespaces_on_path"
,
using: :btree
...
...
@@ -256,6 +263,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
add_index
"notes"
,
[
"author_id"
],
name:
"index_notes_on_author_id"
,
using: :btree
add_index
"notes"
,
[
"commit_id"
],
name:
"index_notes_on_commit_id"
,
using: :btree
add_index
"notes"
,
[
"created_at"
,
"id"
],
name:
"index_notes_on_created_at_and_id"
,
using: :btree
add_index
"notes"
,
[
"created_at"
],
name:
"index_notes_on_created_at"
,
using: :btree
add_index
"notes"
,
[
"noteable_id"
,
"noteable_type"
],
name:
"index_notes_on_noteable_id_and_noteable_type"
,
using: :btree
add_index
"notes"
,
[
"noteable_type"
],
name:
"index_notes_on_noteable_type"
,
using: :btree
...
...
@@ -333,6 +341,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
string
"avatar"
end
add_index
"projects"
,
[
"created_at"
,
"id"
],
name:
"index_projects_on_created_at_and_id"
,
using: :btree
add_index
"projects"
,
[
"creator_id"
],
name:
"index_projects_on_creator_id"
,
using: :btree
add_index
"projects"
,
[
"last_activity_at"
],
name:
"index_projects_on_last_activity_at"
,
using: :btree
add_index
"projects"
,
[
"namespace_id"
],
name:
"index_projects_on_namespace_id"
,
using: :btree
...
...
@@ -374,6 +383,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
end
add_index
"snippets"
,
[
"author_id"
],
name:
"index_snippets_on_author_id"
,
using: :btree
add_index
"snippets"
,
[
"created_at"
,
"id"
],
name:
"index_snippets_on_created_at_and_id"
,
using: :btree
add_index
"snippets"
,
[
"created_at"
],
name:
"index_snippets_on_created_at"
,
using: :btree
add_index
"snippets"
,
[
"expires_at"
],
name:
"index_snippets_on_expires_at"
,
using: :btree
add_index
"snippets"
,
[
"project_id"
],
name:
"index_snippets_on_project_id"
,
using: :btree
...
...
@@ -443,6 +453,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
add_index
"users"
,
[
"admin"
],
name:
"index_users_on_admin"
,
using: :btree
add_index
"users"
,
[
"authentication_token"
],
name:
"index_users_on_authentication_token"
,
unique:
true
,
using: :btree
add_index
"users"
,
[
"confirmation_token"
],
name:
"index_users_on_confirmation_token"
,
unique:
true
,
using: :btree
add_index
"users"
,
[
"created_at"
,
"id"
],
name:
"index_users_on_created_at_and_id"
,
using: :btree
add_index
"users"
,
[
"current_sign_in_at"
],
name:
"index_users_on_current_sign_in_at"
,
using: :btree
add_index
"users"
,
[
"email"
],
name:
"index_users_on_email"
,
unique:
true
,
using: :btree
add_index
"users"
,
[
"name"
],
name:
"index_users_on_name"
,
using: :btree
...
...
@@ -473,6 +484,7 @@ ActiveRecord::Schema.define(version: 20150205211843) do
t
.
boolean
"tag_push_events"
,
default:
false
end
add_index
"web_hooks"
,
[
"created_at"
,
"id"
],
name:
"index_web_hooks_on_created_at_and_id"
,
using: :btree
add_index
"web_hooks"
,
[
"project_id"
],
name:
"index_web_hooks_on_project_id"
,
using: :btree
end
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