diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-12 03:09:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-12 03:09:17 +0300 |
commit | df8c8224edcaa7458c1ac79444768dab71580783 (patch) | |
tree | 2b26b7b1e32b09aee4ca848c656536d0473748de /rubocop | |
parent | fdc26e021b1e3eea4161bf6891f3a151fb7414b0 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'rubocop')
-rw-r--r-- | rubocop/cop/migration/hash_index.rb | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/rubocop/cop/migration/hash_index.rb b/rubocop/cop/migration/hash_index.rb deleted file mode 100644 index 8becef891af..00000000000 --- a/rubocop/cop/migration/hash_index.rb +++ /dev/null @@ -1,53 +0,0 @@ -# frozen_string_literal: true - -require 'set' -require_relative '../../migration_helpers' - -module RuboCop - module Cop - module Migration - # Cop that prevents the use of hash indexes in database migrations - class HashIndex < RuboCop::Cop::Cop - include MigrationHelpers - - MSG = 'hash indexes should be avoided at all costs since they are not ' \ - 'recorded in the PostgreSQL WAL, you should use a btree index instead' - - NAMES = Set.new([:add_index, :index, :add_concurrent_index]).freeze - - def on_send(node) - return unless in_migration?(node) - - name = node.children[1] - - return unless NAMES.include?(name) - - opts = node.children.last - - return unless opts && opts.type == :hash - - opts.each_node(:pair) do |pair| - next unless hash_key_type(pair) == :sym && - hash_key_name(pair) == :using - - if hash_key_value(pair).to_s == 'hash' - add_offense(pair, location: :expression) - end - end - end - - def hash_key_type(pair) - pair.children[0].type - end - - def hash_key_name(pair) - pair.children[0].children[0] - end - - def hash_key_value(pair) - pair.children[1].children[0] - end - end - end - end -end |