36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								# Testcase for BUG#4551
							 | 
						||
| 
								 | 
							
								# The bug was that when the table was TEMPORARY, it was not deleted if
							 | 
						||
| 
								 | 
							
								# the CREATE SELECT failed (the code intended too, but it actually
							 | 
						||
| 
								 | 
							
								# didn't). And as the CREATE TEMPORARY TABLE was not written to the
							 | 
						||
| 
								 | 
							
								# binlog if it was a transactional table, it resulted in an
							 | 
						||
| 
								 | 
							
								# inconsistency between binlog and the internal list of temp tables.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# This does not work for RBR yet.
							 | 
						||
| 
								 | 
							
								--source include/have_binlog_format_mixed_or_statement.inc
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- source include/have_innodb.inc
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								drop table if exists t1, t2;
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 ( a int );
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES (1),(2),(1);
							 | 
						||
| 
								 | 
							
								--error ER_DUP_ENTRY
							 | 
						||
| 
								 | 
							
								CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1;
							 | 
						||
| 
								 | 
							
								--error 1146
							 | 
						||
| 
								 | 
							
								select * from t2;
							 | 
						||
| 
								 | 
							
								--error ER_DUP_ENTRY
							 | 
						||
| 
								 | 
							
								CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1;
							 | 
						||
| 
								 | 
							
								--error 1146
							 | 
						||
| 
								 | 
							
								select * from t2;
							 | 
						||
| 
								 | 
							
								--error ER_DUP_ENTRY
							 | 
						||
| 
								 | 
							
								CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
							 | 
						||
| 
								 | 
							
								--error 1146
							 | 
						||
| 
								 | 
							
								select * from t2;
							 | 
						||
| 
								 | 
							
								--error ER_DUP_ENTRY
							 | 
						||
| 
								 | 
							
								CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
							 | 
						||
| 
								 | 
							
								--error 1146
							 | 
						||
| 
								 | 
							
								select * from t2;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# End of 4.1 tests
							 |