aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql
diff options
context:
space:
mode:
authorJeff Lawson <jdl@cogentlogic.com>2010-08-01 11:41:03 +0100
committerAaron Patterson <aaron.patterson@gmail.com>2010-08-17 13:15:58 -0700
commit7ce1539934b67e536446f7323c7848fdd6ba68e3 (patch)
treee751d515187b1bd78ecfa1b77ba95c6f81f11017 /activerecord/test/cases/adapters/mysql
parent137e4e759a7360f6277ec469d165894bf96dbabf (diff)
downloadrails-7ce1539934b67e536446f7323c7848fdd6ba68e3.tar.gz
rails-7ce1539934b67e536446f7323c7848fdd6ba68e3.tar.bz2
rails-7ce1539934b67e536446f7323c7848fdd6ba68e3.zip
Bug Fix -- clean up connection after stored procedure [#3151 state:resolved]
Diffstat (limited to 'activerecord/test/cases/adapters/mysql')
-rw-r--r--activerecord/test/cases/adapters/mysql/connection_test.rb1
-rw-r--r--activerecord/test/cases/adapters/mysql/sp_test.rb15
2 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql/connection_test.rb b/activerecord/test/cases/adapters/mysql/connection_test.rb
index 782aad72d6..f76a23a8ad 100644
--- a/activerecord/test/cases/adapters/mysql/connection_test.rb
+++ b/activerecord/test/cases/adapters/mysql/connection_test.rb
@@ -48,6 +48,7 @@ class MysqlConnectionTest < ActiveRecord::TestCase
def test_multi_results
rows = ActiveRecord::Base.connection.select_rows('CALL ten();')
assert_equal 10, rows[0][0].to_i, "ten() did not return 10 as expected: #{rows.inspect}"
+ assert @connection.active?, "Bad connection use by 'MysqlAdapter.select_rows'"
end
end
diff --git a/activerecord/test/cases/adapters/mysql/sp_test.rb b/activerecord/test/cases/adapters/mysql/sp_test.rb
new file mode 100644
index 0000000000..3ca2917ca4
--- /dev/null
+++ b/activerecord/test/cases/adapters/mysql/sp_test.rb
@@ -0,0 +1,15 @@
+require "cases/helper"
+require 'models/topic'
+
+class StoredProcedureTest < ActiveRecord::TestCase
+ fixtures :topics
+
+ # Test that MySQL allows multiple results for stored procedures
+ if Mysql.const_defined?(:CLIENT_MULTI_RESULTS)
+ def test_multi_results_from_find_by_sql
+ topics = Topic.find_by_sql 'CALL topics();'
+ assert_equal 1, topics.size
+ assert ActiveRecord::Base.connection.active?, "Bad connection use by 'MysqlAdapter.select'"
+ end
+ end
+end