Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-23Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-09-26Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-07-23Remove dead MySQL codeNick Thomas
None of this code can be reached any more, so it can all be removed
2019-07-02Remove migrations from setup_postgresqlNick Thomas
2019-06-25Update comments and docs around min schema versionDJ Mountney
Fixed some spelling Dropped rake task description for a prefix only task Added note on skipping the check to the postgres debugging dev doc
2019-06-25Drop the source upgrade changeDJ Mountney
We no longer need to point people away from using db:migrate
2019-06-25Add an flag for skipping the schema version checkDJ Mountney
If you chose to use the rollback migration feature on your current version for example, you should still have a way to migrate, being that you are still on a supported migration path.
2019-06-25Fix db:migrate for fresh installsDJ Mountney
2019-06-25Move min schema version check to db:migrateDJ Mountney
Rather than have it checked only as part of gitlab:db:configure, we will instead have it as a pre-req for every db:migrate command
2019-03-13Run rubocop -aNick Thomas
2018-09-04Fix migrationsKamil Trzciński
2018-06-14Bring `rake postgresql_md5_hash` to CELin Jen-Shin
2018-05-22Increase text limit for GPG keys (mysql only).Andreas Brandl
Closes #46530.
2018-05-21Migration to add/drop primary key constraints for composite keys.Andreas Brandl
Closes #43706.
2018-05-17Fix: Use case in-sensitive ordering by name for groupsHarish Ved
2018-04-26Refactoring ci_job_trace to ci_build_traceShinya Maeda
2018-04-06Add rake task and timestamped migration file for mysql raw_data MIDIUMTEXTShinya Maeda
2018-03-28Add the RedirectRoute#path index setup_postgresqlBob Van Landuyt
2018-03-28Don't run ReworkRedirectRoutesIndexes during setupBob Van Landuyt
Since the `permanent` column is not there anymore, we don't need to create these indexes.
2018-02-22Optimise searching for users using short queriesYorick Peterse
This optimises searching for users when using queries consisting out of one or two characters such as "ab". We optimise such cases by searching for `LOWER(name)` and `LOWER(username)` instead of using `ILIKE`. Using `LOWER` produces a _much_ better performing query. For example, when searching for all users matching the term "a" we'd produce the following plan: Limit (cost=637.69..637.74 rows=20 width=805) (actual time=41.983..41.995 rows=20 loops=1) Buffers: shared hit=8330 -> Sort (cost=637.69..638.61 rows=368 width=805) (actual time=41.982..41.990 rows=20 loops=1) Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name Sort Method: top-N heapsort Memory: 35kB Buffers: shared hit=8330 -> Bitmap Heap Scan on users (cost=75.47..627.89 rows=368 width=805) (actual time=9.452..41.305 rows=277 loops=1) Recheck Cond: (((name)::text ~~* 'a'::text) OR ((username)::text ~~* 'a'::text) OR ((email)::text = 'a'::text)) Rows Removed by Index Recheck: 7601 Heap Blocks: exact=7636 Buffers: shared hit=8327 -> BitmapOr (cost=75.47..75.47 rows=368 width=0) (actual time=8.290..8.290 rows=0 loops=1) Buffers: shared hit=691 -> Bitmap Index Scan on index_users_on_name_trigram (cost=0.00..38.85 rows=180 width=0) (actual time=4.369..4.369 rows=4071 loops=1) Index Cond: ((name)::text ~~* 'a'::text) Buffers: shared hit=360 -> Bitmap Index Scan on index_users_on_username_trigram (cost=0.00..34.41 rows=188 width=0) (actual time=3.896..3.896 rows=4140 loops=1) Index Cond: ((username)::text ~~* 'a'::text) Buffers: shared hit=328 -> Bitmap Index Scan on users_email_key (cost=0.00..1.94 rows=1 width=0) (actual time=0.022..0.022 rows=0 loops=1) Index Cond: ((email)::text = 'a'::text) Buffers: shared hit=3 Planning time: 3.912 ms Execution time: 42.171 ms With the changes in this commit we now produce the following plan instead: Limit (cost=13257.48..13257.53 rows=20 width=805) (actual time=1.567..1.579 rows=20 loops=1) Buffers: shared hit=287 -> Sort (cost=13257.48..13280.93 rows=9379 width=805) (actual time=1.567..1.572 rows=20 loops=1) Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name Sort Method: top-N heapsort Memory: 35kB Buffers: shared hit=287 -> Bitmap Heap Scan on users (cost=135.66..13007.91 rows=9379 width=805) (actual time=0.194..1.107 rows=277 loops=1) Recheck Cond: ((lower((name)::text) = 'a'::text) OR (lower((username)::text) = 'a'::text) OR ((email)::text = 'a'::text)) Heap Blocks: exact=277 Buffers: shared hit=287 -> BitmapOr (cost=135.66..135.66 rows=9379 width=0) (actual time=0.152..0.152 rows=0 loops=1) Buffers: shared hit=10 -> Bitmap Index Scan on yorick_test_users (cost=0.00..124.75 rows=9377 width=0) (actual time=0.101..0.101 rows=277 loops=1) Index Cond: (lower((name)::text) = 'a'::text) Buffers: shared hit=4 -> Bitmap Index Scan on index_on_users_lower_username (cost=0.00..1.94 rows=1 width=0) (actual time=0.035..0.035 rows=1 loops=1) Index Cond: (lower((username)::text) = 'a'::text) Buffers: shared hit=3 -> Bitmap Index Scan on users_email_key (cost=0.00..1.94 rows=1 width=0) (actual time=0.014..0.014 rows=0 loops=1) Index Cond: ((email)::text = 'a'::text) Buffers: shared hit=3 Planning time: 0.303 ms Execution time: 1.687 ms Here we can see the new query is 25 times faster compared to the old query.
2018-01-26Eliminate the warnings for databaseLin Jen-Shin
2018-01-19Rework indexes on redirect_routes to be more effective and enforce a case ↵Greg Stark
insensitive unique path
2018-01-11Adds Rubocop rule for line break around conditionals🙈 jacopo beschi 🙉
2017-12-22Add index on namespaces lower(name) for UsersController#existsGreg Stark
2017-07-25Add lower path index to redirect_routesMichael Kozono
2017-06-16Add table for files in merge request diffsSean McGivern
This adds an ID-less table containing one row per file, per merge request diff. It has a column for each attribute on Gitlab::Git::Diff that is serialised currently, with the advantage that we can easily query the attributes of this new table. It does not migrate existing data, so we have fallback code when the legacy st_diffs column is present instead. For a merge request diff to be valid, it should have at most one of: * Rows in this new table, with the correct merge_request_diff_id. * A non-NULL st_diffs column. It may have neither, if the diff is empty.
2017-05-08Add index_redirect_routes_path_for_link migration to setup_postgresql.rakeLuke "Jared" Bennett
2017-05-05Index redirect_routes path for LIKEMichael Kozono
2017-05-03Fix caching large snippet HTML content on MySQL databasesNick Thomas
2017-03-21Add LIKE index for routes.pathYorick Peterse
Nested groups support uses queries along the lines of `path LIKE 'X/%'`. For these queries to use an index on PostgreSQL we need to use either the varchar_pattern_ops or text_pattern_ops operator class. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/29554
2017-02-23Don’t exclude some file in lib from rubocopDouwe Maan
2016-12-13Add AddLowerPathIndexToRoutes to setup_postgresql.rakeDmitriy Zaporozhets
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-06-03Replace colorize gem with rainbow.Connor Shea
Colorize is a gem licensed under the GPLv2, so we can’t use it in GitLab without relicensing GitLab under the terms of the GPL. Rainbow is licensed under the MIT license and does the exact same thing as Colorize, so Rainbow was added in place of Colorize. The syntax is slightly different for Rainbow vs. Colorize, and was updated in accordance. The gem is still a dependency of Spinach, so it’s included in the development/test environments, but won’t be packaged with the actual product, and therefore doesn’t require we relicense the product. An attempt at relicensing Colorize was made, but didn’t succeed as the library owner never responded. Rainbow library: https://github.com/sickill/rainbow Relevant issue regarding licensing in GitLab's gems: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3775
2015-10-15Improve performance of User.by_loginYorick Peterse
Performance is improved in two steps: 1. On PostgreSQL an expression index is used for checking lower(email) and lower(username). 2. The check to determine if we're searching for a username or Email is moved to Ruby. Thanks to @haynes for suggesting and writing the initial implementation of this. Moving the check to Ruby makes this method an additional 1.5 times faster compared to doing the check in the SQL query. With performance being improved I've now also tweaked the amount of iterations required by the User.by_login benchmark. This method now runs between 900 and 1000 iterations per second.
2015-10-08Added dedicated Rake task for setting up PostgresYorick Peterse
This ensures any PostgreSQL specific schema changes (e.g. expression indexes) are created when setting up the database.
2015-06-23Replace GITLAB with GitLab in rake task descriptionsDmitriy Zaporozhets
2014-04-23Adjust MySQL limits for existing installationsJacob Vosmaer
2014-03-13Add mysql limits to db during setupDmitriy Zaporozhets
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-03-12Changed limits to a higher orderJeroen van Baarsen
2014-03-11Added rake task to add limits back in mysqlJeroen van Baarsen
2013-08-26Remove old migration tasksDmitriy Zaporozhets
You should update to 6.0 before proceed with update to higher version. So its no reason to keep old tasks any more. It should be still available in 6-0-stable but not in master
2013-08-21Add iids to milestones. Moved iids logic to separate concernDmitriy Zaporozhets
2013-08-20Fix migrate_iids for issuesDmitriy Zaporozhets
2013-08-20Merge branch 'feature/internal_ids' of /home/git/repositories/gitlab/gitlabhqDmitriy Zaporozhets
2013-08-20Better message for migrating global projectsDmitriy Zaporozhets
2013-08-19Iid improvemetsDmitriy Zaporozhets
* call set_iid before validation * make rake task pass event if objects are invalid * show iid in comment event at dashboard
2013-08-19Create task to create iid for existing issues/mrDmitriy Zaporozhets
2013-08-04Move diff parsing to own class. Correctly identify note diff lineDmitriy Zaporozhets
2013-08-04Store diff with line note. It makes possible to see inline notes with proper ↵Dmitriy Zaporozhets
diff even if MR diff changed
2013-08-02Delete duplicate keys in migrate_keys taskJacob Vosmaer