diff options
author | Vipul A M <vipulnsward@gmail.com> | 2016-04-24 04:01:18 +0530 |
---|---|---|
committer | Vipul A M <vipulnsward@gmail.com> | 2016-04-24 04:01:18 +0530 |
commit | 210729c4cc05eae875b1e990c5bce39dee23e8f1 (patch) | |
tree | ff418e3a878ef7bc0a8e47c307c8476670c8378a /activerecord/lib/active_record | |
parent | c9c5788a527b70d7f983e2b4b47e3afd863d9f48 (diff) | |
download | rails-210729c4cc05eae875b1e990c5bce39dee23e8f1.tar.gz rails-210729c4cc05eae875b1e990c5bce39dee23e8f1.tar.bz2 rails-210729c4cc05eae875b1e990c5bce39dee23e8f1.zip |
Followup of #15771
Make sure we handle explicitly passed nil's to lock_version as well.
An explicitly passed nil value is now converted to 0 on LockingType,
so that we don't end up with ActiveRecord::StaleObjectError in update record
optimistic locking
Fixes #24695
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/locking/optimistic.rb | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/locking/optimistic.rb b/activerecord/lib/active_record/locking/optimistic.rb index 2336d23a1c..1040327a5d 100644 --- a/activerecord/lib/active_record/locking/optimistic.rb +++ b/activerecord/lib/active_record/locking/optimistic.rb @@ -190,6 +190,10 @@ module ActiveRecord super.to_i end + def serialize(value) + super.to_i + end + def init_with(coder) __setobj__(coder['subtype']) end |