diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2017-09-19 17:11:48 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2017-09-19 21:31:03 +0300 |
commit | e1e486ba7c2da606807df11ceb8a03095edd65bf (patch) | |
tree | 5ead03380748ba1a549a9d78c738fb41f86389a5 | |
parent | 9282f9ac2c40266238ca6d97003aaaa157c5e6cb (diff) |
Merge branch 'fix-rails-migrations-for-partial-indexes' into 'master'
Fix regular expression used for opclasses to not be confused by partial index clause
See merge request gitlab-org/gitlab-ce!14343
-rw-r--r-- | config/initializers/postgresql_opclasses_support.rb | 2 | ||||
-rw-r--r-- | db/schema.rb | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/config/initializers/postgresql_opclasses_support.rb b/config/initializers/postgresql_opclasses_support.rb index 820cc89ef57..c2f3023b330 100644 --- a/config/initializers/postgresql_opclasses_support.rb +++ b/config/initializers/postgresql_opclasses_support.rb @@ -127,7 +127,7 @@ module ActiveRecord orders = desc_order_columns.any? ? Hash[desc_order_columns.map {|order_column| [order_column, :desc]}] : {} where = inddef.scan(/WHERE (.+)$/).flatten[0] using = inddef.scan(/USING (.+?) /).flatten[0].to_sym - opclasses = Hash[inddef.scan(/\((.+)\)$/).flatten[0].split(',').map do |column_and_opclass| + opclasses = Hash[inddef.scan(/\((.+?)\)(?:$| WHERE )/).flatten[0].split(',').map do |column_and_opclass| column, opclass = column_and_opclass.split(' ').map(&:strip) [column, opclass] if opclass end.compact] diff --git a/db/schema.rb b/db/schema.rb index 2d8c33591f0..1db50a87cfd 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -256,7 +256,7 @@ ActiveRecord::Schema.define(version: 20170914135630) do add_index "ci_builds", ["commit_id", "status", "type"], name: "index_ci_builds_on_commit_id_and_status_and_type", using: :btree add_index "ci_builds", ["commit_id", "type", "name", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_name_and_ref", using: :btree add_index "ci_builds", ["commit_id", "type", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_ref", using: :btree - add_index "ci_builds", ["id"], name: "index_for_ci_builds_retried_migration", where: "(retried IS NULL)", using: :btree, opclasses: {"id)"=>"WHERE"} + add_index "ci_builds", ["id"], name: "index_for_ci_builds_retried_migration", where: "(retried IS NULL)", using: :btree add_index "ci_builds", ["project_id"], name: "index_ci_builds_on_project_id", using: :btree add_index "ci_builds", ["protected"], name: "index_ci_builds_on_protected", using: :btree add_index "ci_builds", ["runner_id"], name: "index_ci_builds_on_runner_id", using: :btree |