29 lines
		
	
	
		
			958 B
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			958 B
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								drop function if exists bug23333|
							 | 
						||
| 
								 | 
							
								drop table if exists t1,t2|
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a int  NOT NULL auto_increment primary key) ENGINE=MyISAM|
							 | 
						||
| 
								 | 
							
								CREATE TABLE t2 (a int  NOT NULL auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB|
							 | 
						||
| 
								 | 
							
								insert into t2 values (1,1)|
							 | 
						||
| 
								 | 
							
								create function bug23333() 
							 | 
						||
| 
								 | 
							
								RETURNS int(11)
							 | 
						||
| 
								 | 
							
								DETERMINISTIC
							 | 
						||
| 
								 | 
							
								begin
							 | 
						||
| 
								 | 
							
								insert into t1 values (null);
							 | 
						||
| 
								 | 
							
								select count(*) from t1 into @a;
							 | 
						||
| 
								 | 
							
								return @a;
							 | 
						||
| 
								 | 
							
								end|
							 | 
						||
| 
								 | 
							
								reset master|
							 | 
						||
| 
								 | 
							
								insert into t2 values (bug23333(),1)|
							 | 
						||
| 
								 | 
							
								ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
							 | 
						||
| 
								 | 
							
								show binlog events from <binlog_start>|
							 | 
						||
| 
								 | 
							
								Log_name	Pos	Event_type	Server_id	End_log_pos	Info
							 | 
						||
| 
								 | 
							
								master-bin.000001	#	Query	#	#	BEGIN
							 | 
						||
| 
								 | 
							
								master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
							 | 
						||
| 
								 | 
							
								master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
							 | 
						||
| 
								 | 
							
								master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
							 | 
						||
| 
								 | 
							
								master-bin.000001	#	Query	#	#	ROLLBACK
							 | 
						||
| 
								 | 
							
								select count(*),@a from t1 /* must be 1,1 */|
							 | 
						||
| 
								 | 
							
								count(*)	@a
							 | 
						||
| 
								 | 
							
								1	1
							 | 
						||
| 
								 | 
							
								drop table t1,t2;
							 | 
						||
| 
								 | 
							
								drop function if exists bug23333;
							 |