aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2015-12-15 11:23:04 -0700
committerJeremy Daer <jeremydaer@gmail.com>2015-12-15 11:23:04 -0700
commit8391007b7ca123d26ec9b8581b56d6243c3cb908 (patch)
treef34dd8004e2f6aa360e3250cb29b18f59d9d4a50 /activerecord
parent1ad94e760d7a0f4288fb6d29114176b2e5dde250 (diff)
parent46fe546c5f8bf505eb2503e0a784991c69a1d223 (diff)
downloadrails-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.rb4
-rw-r--r--activerecord/test/cases/adapters/mysql2/connection_test.rb7
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|