aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/schema_cache.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/schema_cache.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/schema_cache.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/schema_cache.rb b/activerecord/lib/active_record/connection_adapters/schema_cache.rb
index b516518126..9c56d35bcc 100644
--- a/activerecord/lib/active_record/connection_adapters/schema_cache.rb
+++ b/activerecord/lib/active_record/connection_adapters/schema_cache.rb
@@ -1,7 +1,9 @@
+require 'active_support/deprecation/reporting'
+
module ActiveRecord
module ConnectionAdapters
class SchemaCache
- attr_reader :tables, :version
+ attr_reader :version
attr_accessor :connection
def initialize(conn)
@@ -18,6 +20,7 @@ module ActiveRecord
if table_name
@primary_keys[table_name]
else
+ ActiveSupport::Deprecation.warn('call primary_keys with a table name!')
@primary_keys.dup
end
end
@@ -38,11 +41,21 @@ module ActiveRecord
end
end
+ def tables(name = nil)
+ if name
+ @tables[name]
+ else
+ ActiveSupport::Deprecation.warn('call tables with a name!')
+ @tables.dup
+ end
+ end
+
# Get the columns for a table
def columns(table = nil)
if table
@columns[table]
else
+ ActiveSupport::Deprecation.warn('call columns with a table name!')
@columns.dup
end
end
@@ -53,6 +66,7 @@ module ActiveRecord
if table
@columns_hash[table]
else
+ ActiveSupport::Deprecation.warn('call columns_hash with a table name!')
@columns_hash.dup
end
end
@@ -66,6 +80,12 @@ module ActiveRecord
@version = nil
end
+ def size
+ [@columns, @columns_hash, @primary_keys, @tables].map { |x|
+ x.size
+ }.inject :+
+ end
+
# Clear out internal caches for table with +table_name+.
def clear_table_cache!(table_name)
@columns.delete table_name