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
2018-03-15Cache table_exists?('application_settings') to reduce repeated schema reloadsStan Hu
Closes #43355
2018-03-15Cache column_exists? for application settingsStan Hu
This is most a backport of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/4987/diffs but includes other columns that use column_exists? in a way that may cause unnecessary schema loads.
2017-12-07Merge branch 'mk-add-old-attachments-to-uploads-table' into 'master'Stan Hu
Add old files to uploads table See merge request gitlab-org/gitlab-ce!15270
2017-12-05add Gitlab::Database.replication_slots_supported?Brett Walker
2017-12-02Ensure consistent column orderMichael Kozono
2017-12-02Don’t quote `NOW()` for created_at columnMichael Kozono
To fix for MySQL.
2017-11-08Add returning IDs to Gitlab::Database.bulk_insertYorick Peterse
This adds the keyword argument "return_ids" to Gitlab::Database.bulk_insert. When set to `true` (and PostgreSQL is used) this method will return an Array of the IDs of the inserted rows, otherwise it will return an empty Array.
2017-10-31Handle large values on `MergeRequestDiffCommit` datesAlejandro Rodríguez
2017-10-06Create idea of read-only databaseToon Claes
In GitLab EE, a GitLab instance can be read-only (e.g. when it's a Geo secondary node). But in GitLab CE it also might be useful to have the "read-only" idea around. So port it back to GitLab CE. Also having the principle of read-only in GitLab CE would hopefully lead to less errors introduced, doing write operations when there aren't allowed for read-only calls. Closes gitlab-org/gitlab-ce#37534.
2017-08-29Improve migrations using triggersYorick Peterse
This adds a bunch of checks to migrations that may create or drop triggers. Dropping triggers/functions is done using "IF EXISTS" so we don't throw an error if the object in question has already been dropped. We now also raise a custom error (message) when the user does not have TRIGGER privileges. This should prevent the schema from entering an inconsistent state while also providing the user with enough information on how to solve the problem. The recommendation of using SUPERUSER permissions is a bit extreme but we require this anyway (Omnibus also configures users with this permission). Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36633
2017-08-10Use a specialized class for querying eventsYorick Peterse
This changes various controllers to use the new EventCollection class for retrieving events. This class uses a JOIN LATERAL query on PostgreSQL to retrieve queries in a more efficient way, while falling back to a simpler / less efficient query for MySQL. The EventCollection class also includes a limit on the number of events to display to prevent malicious users from cycling through all events, as doing so could put a lot of pressure on the database. JOIN LATERAL is only supported on PostgreSQL starting with version 9.3.0 and as such this optimisation is only used when using PostgreSQL 9.3 or newer.
2017-06-26Fix Gitlab::Database.bulk_insert for non-UTF-8 dataSean McGivern
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-04-11removes redundant code from database.rbTiago Botelho
2017-03-17Added Gitlab::Database.configYorick Peterse
This returns the ActiveRecord configuration for the current environment. While CE doesn't use this very often, EE will use it in a few places for the database load balancing code. I'm adding this to CE so we don't end up with merge conflicts in this file.
2017-03-02removes redundant code from gitlab database fileTiago Botelho
2017-02-22Allow setting of a custom connection pool hostYorick Peterse
This allows you to set a custom host when calling Gitlab::Database.create_connection_pool. This is necessary for load balancing as in this case we want to inherit all settings except for the hostname.
2017-02-14Merge branch 'create-connection-pool' into 'master' Yorick Peterse
Introduce Gitlab::Database.with_connection_pool See merge request !9192
2017-02-14Only ensure against yield so that pool should be availableLin Jen-Shin
Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9192#note_23293693
2017-02-13Have some simple way to create connection poolLin Jen-Shin
2017-02-13Don't connect in Gitlab::Database.adapter_nameYorick Peterse
We don't need to connect when requesting the name of the database adapter. This in turn should prevent us from requesting/leaking connections just by asking whether we're using PostgreSQL or MySQL.
2017-02-07Improve performance of finding last deployed environmentDouwe Maan
2016-11-25Refresh project authorizations using a Redis leaseYorick Peterse
When I proposed using serializable transactions I was hoping we would be able to refresh data of individual users concurrently. Unfortunately upon closer inspection it was revealed this was not the case. This could result in a lot of queries failing due to serialization errors, overloading the database in the process (given enough workers trying to update the target table). To work around this we're now using a Redis lease that is cancelled upon completion. This ensures we can update the data of different users concurrently without overloading the database. The code will try to obtain the lease until it succeeds, waiting at least 1 second between retries. This is necessary as we may otherwise end up _not_ updating the data which is not an option.
2016-11-18Precalculate user's authorized projects in databaseAhmad Sherif
Closes #23150
2016-07-19Fix methods visibility in gitlab database moduleGrzegorz Bizon
2016-06-18Fix RangeError exceptions when referring to issues or merge requests outside ↵Stan Hu
of max database values When using #XYZ in Markdown text, if XYZ exceeds the maximum value of a signed 32-bit integer, we get an exception when the Markdown render attempts to run `where(iids: XYZ)`. Introduce a method that will throw out out-of-bounds values. Closes #18777
2016-06-15Random selection now also works for MySQLZ.J. van de Weg
2016-06-06Improve Issuable.order_labels_priorityRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-11Enable Rubocop Casecmp Performance Cop.Connor Shea
Also fixes the errors caused by enabling the cop. casecmp is more performant than `.downcase` and `==`.
2016-02-15Fix undefined method `postgresql?` during migrationRobert Speicher
2016-02-03Display database type and version in Administration dashboardRobert Speicher
Closes #12900
2015-12-10Migrate CI WebHooks and Emails to new tablesKamil Trzcinski
2015-10-22Fix Gitlab::Database#mysql?Douwe Maan
2015-10-08Added methods for detecting MySQL/PostgreSQLYorick Peterse
These two methods remove the need for manually going into ActiveRecord::Base.connection all over the place.