Skip to Content Skip to Search
Methods
A
C
D
I
L
N
P
S
V

Attributes

[RW] check_schema_cache_dump_version
[RW] use_schema_cache_dump

Class Public methods

new(cache_path, cache = nil)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 16
def initialize(cache_path, cache = nil)
  @cache = cache
  @cache_path = cache_path
end

Instance Public methods

add(connection, name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 45
def add(connection, name)
  cache(connection).add(connection, name)
end

cached?(table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 87
def cached?(table_name)
  if @cache.nil?
    # If `check_schema_cache_dump_version` is enabled we can't load
    # the schema cache dump without connecting to the database.
    unless self.class.check_schema_cache_dump_version
      @cache = load_cache(nil)
    end
  end

  @cache&.cached?(table_name)
end

clear!()

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 25
def clear!
  @cache = empty_cache

  nil
end

clear_data_source_cache!(connection, name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 81
def clear_data_source_cache!(connection, name)
  return if @cache.nil? && !possible_cache_available?

  cache(connection).clear_data_source_cache!(connection, name)
end

columns(connection, table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 53
def columns(connection, table_name)
  cache(connection).columns(connection, table_name)
end

columns_hash(connection, table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 57
def columns_hash(connection, table_name)
  cache(connection).columns_hash(connection, table_name)
end

columns_hash?(connection, table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 61
def columns_hash?(connection, table_name)
  cache(connection).columns_hash?(connection, table_name)
end

data_source_exists?(connection, name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 41
def data_source_exists?(connection, name)
  cache(connection).data_source_exists?(connection, name)
end

data_sources(connection, name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 49
def data_sources(connection, name)
  cache(connection).data_sources(connection, name)
end

dump_to(connection, filename)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 99
def dump_to(connection, filename)
  fresh_cache = empty_cache
  fresh_cache.add_all(connection)
  fresh_cache.dump_to(filename)

  @cache = fresh_cache
end

indexes(connection, table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 65
def indexes(connection, table_name)
  cache(connection).indexes(connection, table_name)
end

load!(connection)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 31
def load!(connection)
  cache(connection)

  self
end

primary_keys(connection, table_name)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 37
def primary_keys(connection, table_name)
  cache(connection).primary_keys(connection, table_name)
end

set_schema_cache(cache)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 21
def set_schema_cache(cache)
  @cache = cache
end

size(connection)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 77
def size(connection)
  cache(connection).size
end

version(connection)

# File activerecord/lib/active_record/connection_adapters/schema_cache.rb, line 73
def version(connection)
  cache(connection).version(connection)
end