diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2015-12-15 11:23:04 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2015-12-15 11:23:04 -0700 |
commit | 8391007b7ca123d26ec9b8581b56d6243c3cb908 (patch) | |
tree | f34dd8004e2f6aa360e3250cb29b18f59d9d4a50 /activerecord | |
parent | 1ad94e760d7a0f4288fb6d29114176b2e5dde250 (diff) | |
parent | 46fe546c5f8bf505eb2503e0a784991c69a1d223 (diff) | |
download | rails-8391007b7ca123d26ec9b8581b56d6243c3cb908.tar.gz rails-8391007b7ca123d26ec9b8581b56d6243c3cb908.tar.bz2 rails-8391007b7ca123d26ec9b8581b56d6243c3cb908.zip |
Merge pull request #22562 from sblackstone/master
Allow users to pass flags from database.yml
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/adapters/mysql2/connection_test.rb | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb index 7ca597859d..6590e0140d 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb @@ -10,9 +10,9 @@ module ActiveRecord config = config.symbolize_keys config[:username] = 'root' if config[:username].nil? - + config[:flags] ||= 0 if Mysql2::Client.const_defined? :FOUND_ROWS - config[:flags] = Mysql2::Client::FOUND_ROWS + config[:flags] |= Mysql2::Client::FOUND_ROWS end client = Mysql2::Client.new(config) diff --git a/activerecord/test/cases/adapters/mysql2/connection_test.rb b/activerecord/test/cases/adapters/mysql2/connection_test.rb index 507d024bb6..8fabcfb5c0 100644 --- a/activerecord/test/cases/adapters/mysql2/connection_test.rb +++ b/activerecord/test/cases/adapters/mysql2/connection_test.rb @@ -83,6 +83,13 @@ class Mysql2ConnectionTest < ActiveRecord::Mysql2TestCase assert_equal [['']], result.rows end end + + def test_passing_arbitary_flags_to_adapter + run_without_connection do |orig_connection| + ActiveRecord::Base.establish_connection(orig_connection.merge({flags: Mysql2::Client::COMPRESS})) + assert_equal (Mysql2::Client::COMPRESS | Mysql2::Client::FOUND_ROWS), ActiveRecord::Base.connection.raw_connection.query_options[:flags] + end + end def test_mysql_strict_mode_specified_default run_without_connection do |orig_connection| |