mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	Necessary code added to mysqltest.c. Disabled tests are available now. client/mysqltest.c: do_send_query function implemented, so now 'send' command will be run in separate thread for the embedded server. Mutex and condition added to the 'connection' struct for syncronisation purposes. Yes it'd be easier if we had pthread_join() command libmysql/libmysql.c: this isn't actually needed and causes problems in embedded server mysql-test/t/bdb-deadlock.test: test is available for the embedded server now mysql-test/t/flush.test: test is available for the embedded server now mysql-test/t/flush_block_commit.test: test is available for the embedded server now mysql-test/t/innodb-deadlock.test: test is available for the embedded server now mysql-test/t/innodb-lock.test: test is available for the embedded server now mysql-test/t/lock_multi.test: test is available for the embedded server now mysql-test/t/rename.test: test is available for the embedded server now mysql-test/t/show_check.test: test is available for the embedded server now mysql-test/t/status.test: test is available for the embedded server now
		
			
				
	
	
		
			52 lines
		
	
	
		
			941 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			941 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- source include/have_bdb.inc
 | |
| 
 | |
| connect (con1,localhost,root,,);
 | |
| connect (con2,localhost,root,,);
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1,t2;
 | |
| --enable_warnings
 | |
| connection con1;
 | |
| create table t1 (id integer, x integer) engine=BDB;
 | |
| create table t2 (id integer, x integer) engine=BDB;
 | |
| insert into t1 values(0, 0);
 | |
| insert into t2 values(0, 0);
 | |
| set autocommit=0;
 | |
| update t1 set x = 1 where id = 0;
 | |
| 
 | |
| connection con2;
 | |
| set autocommit=0;
 | |
| update t2 set x = 1 where id = 0;
 | |
| 
 | |
| # The following query should hang because con1 is locking the page
 | |
| --send
 | |
| select x from t1 where id = 0;
 | |
| 
 | |
| connection con1;
 | |
| # This should generate a deadlock as we are trying to access a locked row
 | |
| --send
 | |
| select x from t2 where id = 0;
 | |
| 
 | |
| connection con2;
 | |
| --error 1213
 | |
| reap;
 | |
| commit;
 | |
| 
 | |
| connection con1;
 | |
| reap;
 | |
| commit;
 | |
| 
 | |
| connection con2;
 | |
| select * from t1;
 | |
| select * from t2;
 | |
| commit;
 | |
| 
 | |
| connection con1;
 | |
| select * from t1;
 | |
| select * from t2;
 | |
| commit;
 | |
| 
 | |
| drop table t1,t2;
 | |
| 
 | |
| # End of 4.1 tests
 |