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 /config/initializers | |
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
Diffstat (limited to 'config/initializers')
-rw-r--r-- | config/initializers/postgresql_opclasses_support.rb | 2 |
1 files changed, 1 insertions, 1 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] |