| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| |
| |
| | |
Add source and target branch filters to merge requests API
Closes #42492
See merge request gitlab-org/gitlab-ce!17355
|
| | | |
|
| |/
|
|
| |
service
|
| |\
| |
| |
| |
| | |
Improve performance of searching for and auto completing of users
See merge request gitlab-org/gitlab-ce!17158
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
The frontend code doesn't use this so there's no practical point in
supporting this. We also hardcode the limit to 20 so users can no longer
request their own limit, which could overload the database (depending on
any upper bounds perhaps enforced by Kaminari).
|
| | |
| |
| |
| |
| |
| | |
We can instead just use a UNION. This removes the need for plucking
hundreds if not thousands of IDs into memory when a project has many
members.
|
| |/ |
|
| |\
| |
| |
| |
| | |
Refactor IssuableFinder to extract model-specific logic
See merge request gitlab-org/gitlab-ce!17236
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
By extracting a new `filter_items` method, we can override that in the
IssuesFinder and MergeRequestsFinder separately, so we don't need checks that
the model is the correct one, because we can just use the class we're in to know
that.
We can do the same for the VALID_PARAMS constant, by making it a class method.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Simplify database queries in MembersFinder and improve performance for Projects::ProjectMembersController#index
Closes #41461
See merge request gitlab-org/gitlab-ce!17190
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This was the default behavior, because all members with `user_id` set to
`null` were excluded.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For each member being rendered on
Projects::ProjectMembersController#index, there was a query to the users
table to retrieve the corresponding user:
```
SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1
```
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Realized window functions are not available in older MySQL versions
either.
Falling back to DISTINCT ON for postgresql and a convoluted translation
for MySQL.
|
| | |/
| |
| |
| | |
Closes #41461.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Immediately using #from here requires a lot of changes in
other finders (e.g. IssuableFinder, TodosFinder). In all places where we
use #merge, this goes completely the wrong way when passed in a relation
that was built with `#from(...)`: The original query's FROM part gets
completely replaced.
This avoids changing all other places and focuses on improving
SnippetFinder with the downside of two (small) codepaths to do the same
thing.
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
| |
Rather radical but avoids n+1 queries in the rather common case we want
to include information about the author.
|
| |
|
|
|
|
| |
'security-10-4-25223-snippets-finder-doesnt-obey-feature-visibility' into 'security-10-4'
[Port for security-10-4]: Makes SnippetFinder ensure feature visibility
|
| |
|
|
| |
Closes #40755.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Search query is especially slow if a user searches a generic string
which matches many records, in such case search can take tens of
seconds or time out. To speed up the search query, we search only for
first 1000 records, if there is >1000 matching records we just display
"1000+" instead of precise total count supposing that with such amount
the exact count is not so important for the user.
Because for issues even limited search was not fast enough, 2-phase
approach is used for issues: first we use simpler/faster query to get
all public issues, if this exceeds the limit, we just return the limit.
If the amount of matching results is lower than limit, we re-run more
complex search query (which includes also confidential issues).
Re-running the complex query should be fast enough in such case because the
amount of matching issues is lower than limit.
Because exact total_count is now limited, this patch also switches to
to "prev/next" pagination.
Related #40540
|
| |
|
|
|
|
|
| |
Otherwise we'd only preload the ancestors that would fit the
page. That way, when a search result was on the first page, but the
ancestor didn't fit the page anymore. We would not have the preloaded
ancestor when rendering the hierarchy.
|
| |
|
|
|
| |
When a project is shared with a group, it should not be included as a
descendant on the group dashboard.
|
| |\
| |
| |
| |
| |
| |
| | |
Remove unnecessary query from labels dropdown
Closes #37143
See merge request gitlab-org/gitlab-ce!16520
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
| |
Remove order param from the MilestoneFinder
See merge request gitlab/gitlabhq!2259
(cherry picked from commit 14408042e78f2ebc2644f956621b461dbfa3d36d)
155881e7 Remove order param from the MilestoneFinder
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Improve filtering issues by label performance
Closes #40500 and #37143
See merge request gitlab-org/gitlab-ce!16136
|
| | | |
|
| |/ |
|
| |\
| |
| |
| | |
cluster-page-with-list-clusters
|
| | | |
|
| |\ \
| |/
|/|
| | |
cluster-page-with-list-clusters
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Use fuzzy search with minimum length of 3 characters where appropriate
Closes #40512
See merge request gitlab-org/gitlab-ce!15592
|
| | |/ |
|
| |/ |
|
| |
|
|
| |
Adds a rubocop rule (with autocorrect) to ensure line break after guard clauses.
|
| |\
| |
| |
| |
| |
| |
| | |
Fix filter by my reaction is not working
Closes #39930
See merge request gitlab-org/gitlab-ce!15345
|
| | | |
|
| |/
|
|
|
| |
We should include users who have access from parent groups, not just direct
members of the current group.
|