aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2019-04-08 13:10:15 +0200
committerJean Boussier <jean.boussier@gmail.com>2019-06-03 13:31:42 +0200
commit17acb771d815f030ac1cf36b1af4050f02816c39 (patch)
tree7ebab580a70c36274c18011546e357f532f7b0a5 /activerecord/test/models
parenteece0bf1087dc2cb59605a5a9beb88c6b935c194 (diff)
downloadrails-17acb771d815f030ac1cf36b1af4050f02816c39.tar.gz
rails-17acb771d815f030ac1cf36b1af4050f02816c39.tar.bz2
rails-17acb771d815f030ac1cf36b1af4050f02816c39.zip
Deduplicate various Active Record schema cache structures
Real world database schemas contain a lot of duplicated data. Some column names like `id`, `created_at` etc can easily be repeated hundreds of times. Same for SqlTypeMetada, most database will contain only a limited number of possible combinations. This result in a lot of wasted memory. The idea here is to make these data sctructures immutable, use a registry to substitute similar instances with pre-existing ones.
Diffstat (limited to 'activerecord/test/models')
-rw-r--r--activerecord/test/models/contact.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/activerecord/test/models/contact.rb b/activerecord/test/models/contact.rb
index 6e02ff199b..d5f6f00691 100644
--- a/activerecord/test/models/contact.rb
+++ b/activerecord/test/models/contact.rb
@@ -10,14 +10,14 @@ module ContactFakeColumns
table_name => "id"
}
- column :id, :integer
- column :name, :string
- column :age, :integer
- column :avatar, :binary
- column :created_at, :datetime
- column :awesome, :boolean
- column :preferences, :string
- column :alternative_id, :integer
+ column :id, "integer"
+ column :name, "string"
+ column :age, "integer"
+ column :avatar, "binary"
+ column :created_at, "datetime"
+ column :awesome, "boolean"
+ column :preferences, "string"
+ column :alternative_id, "integer"
serialize :preferences
@@ -37,7 +37,7 @@ end
class ContactSti < ActiveRecord::Base
extend ContactFakeColumns
- column :type, :string
+ column :type, "string"
def type; "ContactSti" end
end