Class: Gitlab::Database::PostgresIndex

Inherits:
SharedModel
  • Object
show all
Includes:
Utils::StrongMemoize
Defined in:
lib/gitlab/database/postgres_index.rb

Constant Summary

Constants inherited from SharedModel

SharedModel::SHARED_SCHEMAS

Instance Method Summary collapse

Methods inherited from SharedModel

connection, #connection_db_config, connection_pool, ensure_connection_set!, using_connection

Instance Method Details

#bloat_sizeObject



59
60
61
# File 'lib/gitlab/database/postgres_index.rb', line 59

def bloat_size
  strong_memoize(:bloat_size) { bloat_estimate&.bloat_size || 0 }
end

#relative_bloat_levelObject



63
64
65
# File 'lib/gitlab/database/postgres_index.rb', line 63

def relative_bloat_level
  bloat_size / ondisk_size_bytes.to_f
end

#resetObject



54
55
56
57
# File 'lib/gitlab/database/postgres_index.rb', line 54

def reset
  reload # rubocop:disable Cop/ActiveRecordAssociationReload
  clear_memoization(:bloat_size)
end

#to_sObject



67
68
69
# File 'lib/gitlab/database/postgres_index.rb', line 67

def to_s
  name
end