86 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # should work with embedded server after mysqltest is fixed
 | |
| -- source include/not_embedded.inc
 | |
| -- source include/have_innodb.inc
 | |
| 
 | |
| #
 | |
| # BUG#11733: COMMITs should not happen if read-only is set
 | |
| #
 | |
| 
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS table_11733 ;
 | |
| --enable_warnings
 | |
| 
 | |
| # READ_ONLY does nothing to SUPER users
 | |
| # so we use a non-SUPER one:
 | |
| 
 | |
| grant CREATE, SELECT, DROP on *.* to test@localhost;
 | |
| 
 | |
| connect (con1,localhost,test,,test);
 | |
| 
 | |
| connection default;
 | |
| set global read_only=0;
 | |
| 
 | |
| # Any transactional engine will do
 | |
| create table table_11733 (a int) engine=InnoDb;
 | |
| 
 | |
| connection con1;
 | |
| BEGIN;
 | |
| insert into table_11733 values(11733);
 | |
| 
 | |
| connection default;
 | |
| set global read_only=1;
 | |
| 
 | |
| connection con1;
 | |
| select @@global.read_only;
 | |
| select * from table_11733 ;
 | |
| -- error ER_OPTION_PREVENTS_STATEMENT
 | |
| COMMIT;
 | |
| 
 | |
| connection default;
 | |
| set global read_only=0;
 | |
| drop table table_11733 ;
 | |
| drop user test@localhost;
 | |
| 
 | |
| disconnect con1;
 | |
| 
 | |
| #
 | |
| # Bug #35732: read-only blocks SELECT statements in InnoDB
 | |
| #
 | |
| # Test 1: read only mode
 | |
| GRANT CREATE, SELECT, DROP ON *.* TO test@localhost;
 | |
| connect(con1, localhost, test, , test);
 | |
| 
 | |
| connection default;
 | |
| CREATE TABLE t1(a INT) ENGINE=INNODB;
 | |
| INSERT INTO t1 VALUES (0), (1);
 | |
| SET GLOBAL read_only=1;
 | |
| 
 | |
| connection con1;
 | |
| SELECT * FROM t1;
 | |
| BEGIN;
 | |
| SELECT * FROM t1;
 | |
| COMMIT;
 | |
| 
 | |
| connection default;
 | |
| SET GLOBAL read_only=0;
 | |
| 
 | |
| #
 | |
| # Test 2: global read lock
 | |
| #
 | |
| FLUSH TABLES WITH READ LOCK;
 | |
| 
 | |
| connection con1;
 | |
| SELECT * FROM t1;
 | |
| BEGIN;
 | |
| SELECT * FROM t1;
 | |
| COMMIT;
 | |
| 
 | |
| connection default;
 | |
| UNLOCK TABLES;
 | |
| DROP TABLE t1;
 | |
| DROP USER test@localhost;
 | |
| 
 | |
| disconnect con1;
 | |
| 
 | |
| --echo echo End of 5.1 tests 
 |