No longer require database name for MySQL to allow cross database selects.

[#1122 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
This commit is contained in:
Tristan Dunn
2009-08-09 16:22:53 -04:00
committed by Jeremy Kemper
parent 39de15f136
commit 7908cfabf7
2 changed files with 13 additions and 6 deletions

View File

@@ -52,12 +52,7 @@ module ActiveRecord
socket = config[:socket]
username = config[:username] ? config[:username].to_s : 'root'
password = config[:password].to_s
if config.has_key?(:database)
database = config[:database]
else
raise ArgumentError, "No database specified. Missing argument: database."
end
database = config[:database]
# Require the MySQL driver and define Mysql::Result.all_hashes
unless defined? Mysql

View File

@@ -63,6 +63,18 @@ class AdapterTest < ActiveRecord::TestCase
def test_show_nonexistent_variable_returns_nil
assert_nil @connection.show_variable('foo_bar_baz')
end
def test_not_specifying_database_name_for_cross_database_selects
assert_nothing_raised do
ActiveRecord::Base.establish_connection({
:adapter => 'mysql',
:username => 'rails'
})
ActiveRecord::Base.connection.execute "SELECT activerecord_unittest.pirates.*, activerecord_unittest2.courses.* FROM activerecord_unittest.pirates, activerecord_unittest2.courses"
end
ActiveRecord::Base.establish_connection 'arunit'
end
end
if current_adapter?(:PostgreSQLAdapter)