mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#17521 alter database crashes slave
Problem was a null pointer Fixed by passing correct database name to slave filtering mechanism Added test.
This commit is contained in:
8
mysql-test/r/rpl_alter_db.result
Normal file
8
mysql-test/r/rpl_alter_db.result
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
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;
|
||||||
|
use mysql;
|
||||||
|
alter database collate latin1_bin;
|
10
mysql-test/t/rpl_alter_db.test
Normal file
10
mysql-test/t/rpl_alter_db.test
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
source include/master-slave.inc;
|
||||||
|
connection master;
|
||||||
|
use mysql; # to be different from initial `test' db of mysqltest client
|
||||||
|
alter database collate latin1_bin;
|
||||||
|
save_master_pos;
|
||||||
|
|
||||||
|
connection slave;
|
||||||
|
sync_with_master;
|
||||||
|
|
||||||
|
|
@ -3715,7 +3715,7 @@ end_with_restore_list:
|
|||||||
}
|
}
|
||||||
if (!strip_sp(db) || check_db_name(db))
|
if (!strip_sp(db) || check_db_name(db))
|
||||||
{
|
{
|
||||||
my_error(ER_WRONG_DB_NAME, MYF(0), lex->name);
|
my_error(ER_WRONG_DB_NAME, MYF(0), db);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -3727,8 +3727,8 @@ end_with_restore_list:
|
|||||||
*/
|
*/
|
||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
if (thd->slave_thread &&
|
if (thd->slave_thread &&
|
||||||
(!rpl_filter->db_ok(lex->name) ||
|
(!rpl_filter->db_ok(db) ||
|
||||||
!rpl_filter->db_ok_with_wild_table(lex->name)))
|
!rpl_filter->db_ok_with_wild_table(db)))
|
||||||
{
|
{
|
||||||
my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0));
|
my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0));
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user