diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-02-20 08:20:26 -0800 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-02-20 08:20:26 -0800 |
commit | 82a54324f615ae999c811b67701fd269b54d9fe4 (patch) | |
tree | 77784730efb77689419082290a476405d2bb5561 /activerecord/lib/active_record/attribute_methods | |
parent | b85f63bbd00243787387d9c32901131851e8e424 (diff) | |
parent | 67d8bb963d5d51fc644d6b1ca20164efb4cee6d7 (diff) | |
download | rails-82a54324f615ae999c811b67701fd269b54d9fe4.tar.gz rails-82a54324f615ae999c811b67701fd269b54d9fe4.tar.bz2 rails-82a54324f615ae999c811b67701fd269b54d9fe4.zip |
Merge pull request #9068 from wangjohn/transaction_callback_patch
Reduced memory leak problem in transactions by lazily updating AR objects
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/primary_key.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/primary_key.rb b/activerecord/lib/active_record/attribute_methods/primary_key.rb index 310f1b6e75..3e454b713a 100644 --- a/activerecord/lib/active_record/attribute_methods/primary_key.rb +++ b/activerecord/lib/active_record/attribute_methods/primary_key.rb @@ -8,27 +8,32 @@ module ActiveRecord # Returns this record's primary key value wrapped in an Array if one is # available. def to_key + sync_with_transaction_state key = self.id [key] if key end # Returns the primary key value. def id + sync_with_transaction_state read_attribute(self.class.primary_key) end # Sets the primary key value. def id=(value) + sync_with_transaction_state write_attribute(self.class.primary_key, value) if self.class.primary_key end # Queries the primary key value. def id? + sync_with_transaction_state query_attribute(self.class.primary_key) end # Returns the primary key value before type cast. def id_before_type_cast + sync_with_transaction_state read_attribute_before_type_cast(self.class.primary_key) end |