- Nov 19, 2015
-
-
Rubén Dávila authored
-
-
-
-
-
-
-
When using IssuableFinder/IssuesFinder to find issues for multiple projects it's more efficient to use a JOIN + a "WHERE project_id IN" condition opposed to running a sub-query. This change means that when finding issues without labels we're now using the following SQL: SELECT issues.* FROM issues JOIN projects ON projects.id = issues.project_id LEFT JOIN label_links ON label_links.target_type = 'Issue' AND label_links.target_id = issues.id WHERE ( projects.id IN (...) OR projects.visibility_level IN (20, 10) ) AND issues.state IN ('opened','reopened') AND label_links.id IS NULL ORDER BY issues.id DESC; instead of: SELECT issues.* FROM issues LEFT JOIN label_links ON label_links.target_type = 'Issue' AND label_links.target_id = issues.id WHERE issues.project_id IN ( SELECT id FROM projects WHERE id IN (...) OR visibility_level IN (20,10) ) AND issues.state IN ('opened','reopened') AND label_links.id IS NULL ORDER BY issues.id DESC; The big benefit here is that in the last case PostgreSQL can't properly use all available indexes. In particular it ends up performing a sequence scan on the "label_links" table (processing around 290 000 rows). The new query is roughly 2x as fast as the old query.
-
Since this method's returned data doesn't change between calls on the same IssuableFinder instance we can just memoize this similar to the "project" method.
-
-
-
-
-
This field is queried when filtering issues and due to the lack of an index would end up triggering a sequence scan.
-
Signed-off-by:
Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
Signed-off-by:
Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Kamil Trzcińśki authored
Commits without .gitlab-ci.yml are marked as skipped - Commits without .gitlab-ci.yml are marked as skipped - Save detailed error when YAML syntax This also fixes: #3521 #3546 /cc @jacobvosmaer See merge request !1827
-
Dmitriy Zaporozhets authored
Award Emoji This it first iteration of award emoji feature. We have plan to extend emoji picker by the next release. For now, you can add award by clicking to the emoji picker or posting a regular comment with emoji like "
👍 " and any other. You can post not only emoji that listed in the emoji picker. See merge request !1825 -
Dmitriy Zaporozhets authored
Add missing dot in confirm modal See merge request !1645
-
Valery Sizov authored
-
Dmitriy Zaporozhets authored
Improve performance of finding issues with/without labels The changes in this MR ultimately lead to finding issues with(out) labels being about 2x faster due to: 1. Newly added indexes on `issues.state` and `projects.visibility_level` 2. Adjusting the query so that finding issues for multiple projects is more efficient See merge request !1787
-
Kamil Trzcińśki authored
-
Everytime the User check or uncheck a Task Item from the Issue or Merge Request description, a new update is going to be added to the activity logs of the Issue or Merge Request. Note that when using the edit form, you can only update the Task item status or add/delete/modify existing ones. Doing both actions is not fully supported.
-
Robert Speicher authored
Improve personal snippet access workflow. Replaces !1709 Fixes #3258 See merge request !1817
-
Robert Speicher authored
Add option to create merge request when editing/creating a file Replaces !1611 Fixes #3059 See merge request !1820
-