oldmoe / mysqlplus

An enhanced mysql driver with an async interface and threaded access support

mysqlplus / test / out_of_sync_test.rb
100644 35 lines (31 sloc) 0.774 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require File.dirname(__FILE__) + '/test_helper'
 
m = Mysql.real_connect('localhost','root')
m.reconnect = true
$count = 0
class << m
  def safe_query( query )
    begin
      send_query( query )
    rescue => e
      $count += 1
      puts e.message
    end
  end
  
end
 
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.simulate_disconnect #fires mysql_library_end
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.close
m.connect('localhost','root')
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.simulate_disconnect
raise unless $count == 3
m.safe_query( 'BEGIN' )
m.safe_query( 'select sleep(1)' ) # raises
m.get_result()
m.safe_query( 'COMMIT' )
m.get_result
raise unless $count == 4