aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2019-04-10 09:56:29 +0900
committerRyuta Kamizono <kamipo@gmail.com>2019-04-10 09:56:29 +0900
commit04d30dae61f4a69d125e407551392f3adfff050e (patch)
tree318bed81d7933c8187d57165a0fc5efd5a506050
parent8976507439f37bff7300fcc09de45f2f299339b7 (diff)
downloadrails-04d30dae61f4a69d125e407551392f3adfff050e.tar.gz
rails-04d30dae61f4a69d125e407551392f3adfff050e.tar.bz2
rails-04d30dae61f4a69d125e407551392f3adfff050e.zip
There is no need to create `QueryAttribute` to just type cast a value
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb3
-rw-r--r--activerecord/lib/active_record/insert_all.rb3
2 files changed, 2 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
index 6aacbe5f88..a5159c8dd7 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
@@ -427,8 +427,7 @@ module ActiveRecord
columns.map do |name, column|
if fixture.key?(name)
type = lookup_cast_type_from_column(column)
- bind = Relation::QueryAttribute.new(name, fixture[name], type)
- with_yaml_fallback(bind.value_for_database)
+ with_yaml_fallback(type.serialize(fixture[name]))
else
default_insert_value(column)
end
diff --git a/activerecord/lib/active_record/insert_all.rb b/activerecord/lib/active_record/insert_all.rb
index ed7a37b255..959e5bd4d7 100644
--- a/activerecord/lib/active_record/insert_all.rb
+++ b/activerecord/lib/active_record/insert_all.rb
@@ -128,8 +128,7 @@ module ActiveRecord
types = extract_types_from_columns_on(model.table_name, keys: keys)
values_list = insert_all.map_key_with_value do |key, value|
- bind = Relation::QueryAttribute.new(key, value, types[key])
- connection.with_yaml_fallback(bind.value_for_database)
+ connection.with_yaml_fallback(types[key].serialize(value))
end
Arel::InsertManager.new.create_values_list(values_list).to_sql