mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	BitKeeper/etc/ignore: auto-union acinclude.m4: Auto merged Docs/manual.texi: Auto merged include/my_sys.h: Auto merged include/mysql.h: Auto merged libmysqld/libmysqld.c: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/t/count_distinct2.test: Auto merged mysql-test/t/flush.test: Auto merged mysql-test/t/rpl000017.test: Auto merged libmysql/libmysql.c: Auto merged mysys/Makefile.am: Auto merged sql/Makefile.am: Auto merged sql/handler.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged libmysqld/Makefile.am: Added back md5.c
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This test doesn't work with the embedded version as this code
 | |
| # assumes that one query is running while we are doing queries on
 | |
| # a second connection.
 | |
| # This would work if mysqltest run would be threaded and handle each
 | |
| # connection in a separate thread.
 | |
| #
 | |
| -- source include/not_embedded.inc
 | |
| 
 | |
| connect (con1,localhost,root,,);
 | |
| connect (con2,localhost,root,,);
 | |
| connection con1;
 | |
| drop table if exists t1;
 | |
| create temporary table t1(n int not null primary key);
 | |
| drop table if exists t2;
 | |
| create table t2(n int);
 | |
| insert into t2 values(3);
 | |
| let $1=100;
 | |
| disable_query_log;
 | |
| while ($1)
 | |
| {
 | |
|  connection con1;
 | |
|  send replace into t1 select n from t2;
 | |
|  connection con2;
 | |
|  send flush tables;
 | |
|  connection con1;
 | |
|  reap;
 | |
|  connection con2;
 | |
|  reap;
 | |
|  dec $1;
 | |
| }
 | |
| enable_query_log;
 | |
| connection con1;
 | |
| select * from t1;
 | |
| connection con2;
 | |
| flush tables with read lock;
 | |
| --error 1099;
 | |
| drop table t2;
 | |
| connection con1;
 | |
| send drop table t2;
 | |
| connection con2;
 | |
| unlock tables;
 | |
| connection con1;
 | |
| reap;
 | |
| 
 | |
| #test if drop database will wait until we release the global read lock
 | |
| connection con1;
 | |
| drop database if exists foo;
 | |
| create database foo;
 | |
| create table foo.t1(n int);
 | |
| insert into foo.t1 values (23);
 | |
| flush tables with read lock;
 | |
| connection con2;
 | |
| send drop database foo;
 | |
| connection con1;
 | |
| select * from foo.t1;
 | |
| unlock tables;
 | |
| connection con2;
 | |
| reap;
 | |
| 
 | |
| # test if dirty close releases global read lock
 | |
| connection con1;
 | |
| create table t1 (n int);
 | |
| flush tables with read lock;
 | |
| dirty_close con1;
 | |
| connection con2;
 | |
| insert into t1 values (345);
 | |
| select * from t1;
 | |
| drop table t1;
 |