summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/rpl_alter_db.result8
-rw-r--r--mysql-test/t/rpl_alter_db.test10
-rw-r--r--sql/sql_parse.cc6
3 files changed, 21 insertions, 3 deletions
diff --git a/mysql-test/r/rpl_alter_db.result b/mysql-test/r/rpl_alter_db.result
new file mode 100644
index 00000000000..6edbe5d427f
--- /dev/null
+++ b/mysql-test/r/rpl_alter_db.result
@@ -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;
diff --git a/mysql-test/t/rpl_alter_db.test b/mysql-test/t/rpl_alter_db.test
new file mode 100644
index 00000000000..5ac8a2f4018
--- /dev/null
+++ b/mysql-test/t/rpl_alter_db.test
@@ -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;
+
+
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index b84eb1cfcb8..e4bbcfc5074 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -3715,7 +3715,7 @@ end_with_restore_list:
}
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;
}
/*
@@ -3727,8 +3727,8 @@ end_with_restore_list:
*/
#ifdef HAVE_REPLICATION
if (thd->slave_thread &&
- (!rpl_filter->db_ok(lex->name) ||
- !rpl_filter->db_ok_with_wild_table(lex->name)))
+ (!rpl_filter->db_ok(db) ||
+ !rpl_filter->db_ok_with_wild_table(db)))
{
my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0));
break;