mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	present): the problem originally was that the tables in auxilliary_tables did not have the correct real_name, which caused problems in the second call to tables_ok(). The fix corrects the real_name problem, and also sets the updating flag properly, which makes the second call to tables_ok() unnecessary. mysql-test/r/rpl_multi_delete2.result: updates for for BUG#11139 mysql-test/t/rpl_multi_delete2-slave.opt: updates for for BUG#11139 mysql-test/t/rpl_multi_delete2.test: updates for for BUG#11139 sql/mysql_priv.h: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/slave.cc: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/sql_parse.cc: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/sql_yacc.yy: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present)
		
			
				
	
	
		
			45 lines
		
	
	
		
			962 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			962 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| stop slave;
 | |
| drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | |
| reset master;
 | |
| reset slave;
 | |
| drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | |
| start slave;
 | |
| set sql_log_bin=0;
 | |
| create database mysqltest_from;
 | |
| set sql_log_bin=1;
 | |
| create database mysqltest_to;
 | |
| use mysqltest_from;
 | |
| drop table if exists a;
 | |
| CREATE TABLE a (i INT);
 | |
| INSERT INTO a VALUES(1);
 | |
| DELETE alias FROM a alias WHERE alias.i=1;
 | |
| SELECT * FROM a;
 | |
| i
 | |
| insert into a values(2),(3);
 | |
| delete a alias FROM a alias where alias.i=2;
 | |
| select * from a;
 | |
| i
 | |
| 3
 | |
| use mysqltest_to;
 | |
| select * from a;
 | |
| i
 | |
| 3
 | |
| create table t1 (a int);
 | |
| create table t2 (a int);
 | |
| insert into t1 values (1);
 | |
| insert into t2 values (1);
 | |
| delete t1.* from t1, t2 where t1.a = t2.a;
 | |
| select * from t1;
 | |
| a
 | |
| select * from t2;
 | |
| a
 | |
| 1
 | |
| select * from t1;
 | |
| ERROR 42S02: Table 'mysqltest_to.t1' doesn't exist
 | |
| select * from t2;
 | |
| ERROR 42S02: Table 'mysqltest_to.t2' doesn't exist
 | |
| set sql_log_bin=0;
 | |
| drop database mysqltest_from;
 | |
| set sql_log_bin=1;
 | |
| drop database mysqltest_to;
 |