1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Remove needless call to key? when building attributes

This appears to be a performance hotspot, see #17655.
This commit is contained in:
Sean Griffin 2014-11-18 12:31:23 -08:00
parent 3ecc5d30eb
commit edc39ff756

View file

@ -62,9 +62,11 @@ module ActiveRecord
def assign_default_value(name)
type = additional_types.fetch(name, types[name])
value_present = true
value = values.fetch(name) { value_present = false }
if values.key?(name)
delegate_hash[name] = Attribute.from_database(name, values[name], type)
if value_present
delegate_hash[name] = Attribute.from_database(name, value, type)
elsif types.key?(name)
delegate_hash[name] = Attribute.uninitialized(name, type)
end