class Mysql2StoredProcedureTest
Public Instance Methods
setup()
click to toggle source
# File activerecord/test/cases/adapters/mysql2/sp_test.rb, line 10 def setup @connection = ActiveRecord::Base.connection unless ActiveRecord::Base.connection.version >= "5.6.0" skip("no stored procedure support") end end
test_multi_results()
click to toggle source
Test that MySQL allows multiple results for stored procedures
In MySQL 5.6, CLIENT_MULTI_RESULTS is enabled by default. dev.mysql.com/doc/refman/5.6/en/call.html
# File activerecord/test/cases/adapters/mysql2/sp_test.rb, line 21 def test_multi_results rows = @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 'Mysql2Adapter.select_rows'" end
test_multi_results_from_find_by_sql()
click to toggle source
# File activerecord/test/cases/adapters/mysql2/sp_test.rb, line 33 def test_multi_results_from_find_by_sql topics = Topic.find_by_sql "CALL topics(3);" assert_equal 3, topics.size assert @connection.active?, "Bad connection use by 'Mysql2Adapter.select'" end
test_multi_results_from_select_one()
click to toggle source
# File activerecord/test/cases/adapters/mysql2/sp_test.rb, line 27 def test_multi_results_from_select_one row = @connection.select_one("CALL topics(1);") assert_equal "David", row["author_name"] assert @connection.active?, "Bad connection use by 'Mysql2Adapter.select_one'" end