diff options
author | Kir Shatrov <shatrov@me.com> | 2017-06-18 11:14:52 -0400 |
---|---|---|
committer | Kir Shatrov <shatrov@me.com> | 2017-06-20 13:18:53 -0400 |
commit | 4ee42379cc30a07a7d47b7be8c710dba0efa407a (patch) | |
tree | 19f5e734b0751771edcb80050524760353928031 /activerecord/test/cases/adapters/postgresql | |
parent | 09cb26bc1e653999827cf3eb955d42a2c932b3f5 (diff) | |
download | rails-4ee42379cc30a07a7d47b7be8c710dba0efa407a.tar.gz rails-4ee42379cc30a07a7d47b7be8c710dba0efa407a.tar.bz2 rails-4ee42379cc30a07a7d47b7be8c710dba0efa407a.zip |
Use bulk INSERT to insert fixtures
Improves the performance from O(n) to O(1).
Previously it would require 50 queries to
insert 50 fixtures. Now it takes only one query.
Disabled on sqlite which doesn't support multiple inserts.
Diffstat (limited to 'activerecord/test/cases/adapters/postgresql')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/array_test.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/array_test.rb b/activerecord/test/cases/adapters/postgresql/array_test.rb index c78c6178ff..121c62dadf 100644 --- a/activerecord/test/cases/adapters/postgresql/array_test.rb +++ b/activerecord/test/cases/adapters/postgresql/array_test.rb @@ -191,6 +191,12 @@ class PostgresqlArrayTest < ActiveRecord::PostgreSQLTestCase assert_equal(PgArray.last.tags, tag_values) end + def test_insert_fixtures + tag_values = ["val1", "val2", "val3_with_'_multiple_quote_'_chars"] + @connection.insert_fixtures([{ "tags" => tag_values }], "pg_arrays") + assert_equal(PgArray.last.tags, tag_values) + end + def test_attribute_for_inspect_for_array_field record = PgArray.new { |a| a.ratings = (1..10).to_a } assert_equal("[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]", record.attribute_for_inspect(:ratings)) |