Below is the list of changes that have just been committed into a local
4.1 repository of mats. When mats does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html
ChangeSet
1.2140 04/11/24 09:44:17 mats@stripped +13 -0
Bug#6391 (binlog-do-db rules ignored)
CREATE DATABASE statement used the current database instead of the
database created when checking conditions for replication.
CREATE/DROP/ALTER DATABASE statements are now replicated based on
the manipulated database.
mysql-test/r/rpl_charset.result
1.7 04/11/24 09:18:34 mats@stripped +58 -58
'USE' statments have dissapeared before some statements.
Binlog position change due to different length log events.
mysql-test/r/rpl_create_database.result
1.1 04/11/24 09:15:31 mats@stripped +56 -0
mysql-test/r/rpl_loaddata_rule_m.result
1.6 04/11/24 09:15:31 mats@stripped +2 -0
'(CREATE|DROP) DATABASE' statements now replicated.
mysql-test/r/rpl_create_database.result
1.0 04/11/24 09:15:31 mats@stripped +0 -0
BitKeeper file /space/bk/b6391-mysql-4.1/mysql-test/r/rpl_create_database.result
mysql-test/r/drop_temp_table.result
1.8 04/11/24 09:14:42 mats@stripped +4 -4
'USE' statments have dissapeared before some statements.
mysql-test/t/rpl_until.test
1.14 04/11/24 09:11:53 mats@stripped +2 -1
Longer sleep to allow slave to catch up.
mysql-test/t/rpl_charset.test
1.5 04/11/24 09:11:12 mats@stripped +3 -3
Position change.
mysql-test/t/rpl_create_database.test
1.1 04/11/24 09:11:09 mats@stripped +52 -0
mysql-test/t/rpl_create_database-slave.opt
1.1 04/11/24 09:11:09 mats@stripped +1 -0
mysql-test/t/rpl_create_database.test
1.0 04/11/24 09:11:09 mats@stripped +0 -0
BitKeeper file /space/bk/b6391-mysql-4.1/mysql-test/t/rpl_create_database.test
mysql-test/t/rpl_create_database-slave.opt
1.0 04/11/24 09:11:09 mats@stripped +0 -0
BitKeeper file /space/bk/b6391-mysql-4.1/mysql-test/t/rpl_create_database-slave.opt
mysql-test/t/rpl_create_database-master.opt
1.1 04/11/24 09:11:08 mats@stripped +1 -0
mysql-test/t/rpl_create_database-master.opt
1.0 04/11/24 09:11:08 mats@stripped +0 -0
BitKeeper file /space/bk/b6391-mysql-4.1/mysql-test/t/rpl_create_database-master.opt
sql/log.cc
1.152 04/11/24 09:08:30 mats@stripped +1 -1
Better error message for not ok databases.
sql/sql_db.cc
1.126 04/11/24 09:06:57 mats@stripped +27 -3
Suppress generation if 'USE' statements for '(CREATE|DROP|ALTER) DATABASE' statements since the database used is intrinsic.
sql/log_event.cc
1.170 04/11/24 09:06:36 mats@stripped +13 -6
Added flags to suppress the generation of 'USE' statements when printing a log event.
sql/log_event.h
1.95 04/11/24 09:05:39 mats@stripped +12 -3
Added flags to suppress the generation of 'USE' statements when printing a log event.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: mats
# Host: tuna.ndb.mysql.com
# Root: /orca/space/bk/b6391-mysql-4.1
--- 1.151/sql/log.cc 2004-11-12 09:44:52 +01:00
+++ 1.152/sql/log.cc 2004-11-24 09:08:30 +01:00
@@ -1274,7 +1274,7 @@
(local_db && !db_ok(local_db, binlog_do_db, binlog_ignore_db)))
{
VOID(pthread_mutex_unlock(&LOCK_log));
- DBUG_PRINT("error",("!db_ok"));
+ DBUG_PRINT("error",("!db_ok('%s')", local_db));
DBUG_RETURN(0);
}
#endif /* HAVE_REPLICATION */
--- 1.169/sql/log_event.cc 2004-11-19 00:56:51 +01:00
+++ 1.170/sql/log_event.cc 2004-11-24 09:06:36 +01:00
@@ -780,7 +780,8 @@
if (!(buf= my_malloc(9 + db_len + q_len, MYF(MY_WME))))
return;
pos= buf;
- if (db && db_len)
+ if (!(flags & LOG_EVENT_SUPPRESS_USE_F)
+ && db && db_len)
{
pos= strmov(buf, "use `");
memcpy(pos, db, db_len);
@@ -872,9 +873,12 @@
#ifndef MYSQL_CLIENT
Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
- ulong query_length, bool using_trans)
- :Log_event(thd_arg, !thd_arg->tmp_table_used ?
- 0 : LOG_EVENT_THREAD_SPECIFIC_F, using_trans),
+ ulong query_length, bool using_trans,
+ bool suppress_use)
+ :Log_event(thd_arg,
+ ((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0)
+ | (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)),
+ using_trans),
data_buf(0), query(query_arg),
db(thd_arg->db), q_len((uint32) query_length),
error_code(thd_arg->killed ?
@@ -955,8 +959,11 @@
memcpy(last_db, db, db_len + 1);
}
- if (db && db[0] && different_db)
- fprintf(file, "use %s;\n", db);
+ if (!(flags & LOG_EVENT_SUPPRESS_USE_F)
+ && db && db[0] && different_db)
+ {
+ fprintf(file, "use %s;\n", db);
+ }
end=int10_to_str((long) when, strmov(buff,"SET TIMESTAMP="),10);
*end++=';';
*end++='\n';
--- 1.94/sql/log_event.h 2004-11-15 17:03:21 +01:00
+++ 1.95/sql/log_event.h 2004-11-24 09:05:39 +01:00
@@ -264,6 +264,14 @@
*/
#define LOG_EVENT_THREAD_SPECIFIC_F 0x4
+/*
+ Suppress the generation of 'USE' statements before the actual
+ statement. This flag should be set for any events that does not need
+ the current database set to function correctly. Most notable cases
+ are 'CREATE DATABASE' and 'DROP DATABASE'.
+ */
+#define LOG_EVENT_SUPPRESS_USE_F 0x8
+
enum Log_event_type
{
UNKNOWN_EVENT= 0, START_EVENT= 1, QUERY_EVENT= 2, STOP_EVENT= 3,
@@ -331,8 +339,9 @@
/*
Some 16 flags. Only one is really used now; look above for
- LOG_EVENT_TIME_F, LOG_EVENT_FORCED_ROTATE_F, LOG_EVENT_THREAD_SPECIFIC_F
- for notes.
+ LOG_EVENT_TIME_F, LOG_EVENT_FORCED_ROTATE_F,
+ LOG_EVENT_THREAD_SPECIFIC_F, and LOG_EVENT_SUPPRESS_USE_F for
+ notes.
*/
uint16 flags;
@@ -465,7 +474,7 @@
#ifndef MYSQL_CLIENT
Query_log_event(THD* thd_arg, const char* query_arg, ulong query_length,
- bool using_trans);
+ bool using_trans, bool suppress_use = FALSE);
const char* get_db() { return db; }
#ifdef HAVE_REPLICATION
void pack_info(Protocol* protocol);
--- 1.125/sql/sql_db.cc 2004-11-10 16:07:04 +01:00
+++ 1.126/sql/sql_db.cc 2004-11-24 09:06:57 +01:00
@@ -467,7 +467,15 @@
mysql_update_log.write(thd, query, query_length);
if (mysql_bin_log.is_open())
{
- Query_log_event qinfo(thd, query, query_length, 0);
+ Query_log_event qinfo(thd, query, query_length, 0,
+ /* suppress_use */ TRUE);
+
+ // Write should use the database being created as the "current
+ // database" and not the threads current database, which is the
+ // default.
+ qinfo.db = db;
+ qinfo.db_len = strlen(db);
+
mysql_bin_log.write(&qinfo);
}
send_ok(thd, result);
@@ -517,7 +525,15 @@
mysql_update_log.write(thd,thd->query, thd->query_length);
if (mysql_bin_log.is_open())
{
- Query_log_event qinfo(thd, thd->query, thd->query_length, 0);
+ Query_log_event qinfo(thd, thd->query, thd->query_length, 0,
+ /* suppress_use */ TRUE);
+
+ // Write should use the database being created as the "current
+ // database" and not the threads current database, which is the
+ // default.
+ qinfo.db = db;
+ qinfo.db_len = strlen(db);
+
thd->clear_error();
mysql_bin_log.write(&qinfo);
}
@@ -625,7 +641,15 @@
mysql_update_log.write(thd, query, query_length);
if (mysql_bin_log.is_open())
{
- Query_log_event qinfo(thd, query, query_length, 0);
+ Query_log_event qinfo(thd, query, query_length, 0,
+ /* suppress_use */ TRUE);
+
+ // Write should use the database being created as the "current
+ // database" and not the threads current database, which is the
+ // default.
+ qinfo.db = db;
+ qinfo.db_len = strlen(db);
+
thd->clear_error();
mysql_bin_log.write(&qinfo);
}
--- 1.13/mysql-test/t/rpl_until.test 2004-03-20 11:29:41 +01:00
+++ 1.14/mysql-test/t/rpl_until.test 2004-11-24 09:11:53 +01:00
@@ -43,7 +43,7 @@
# try replicate all until second insert to t2;
start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=537;
-sleep 2;
+sleep 4;
select * from t2;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 23 # 33 #
@@ -65,6 +65,7 @@
--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
--replace_column 1 # 9 # 23 # 33 #
show slave status;
+
#testing various error conditions
--error 1277
--- 1.7/mysql-test/r/drop_temp_table.result 2004-03-26 10:06:51 +01:00
+++ 1.8/mysql-test/r/drop_temp_table.result 2004-11-24 09:14:42 +01:00
@@ -11,8 +11,8 @@
show binlog events;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
-master-bin.000001 79 Query 1 79 use `test`; create database `drop-temp+table-test`
-master-bin.000001 152 Query 1 152 use `drop-temp+table-test`; create temporary table `table:name` (a int)
-master-bin.000001 246 Query 1 246 use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`table:name`
-master-bin.000001 375 Query 1 375 use `drop-temp+table-test`; DO RELEASE_LOCK("a")
+master-bin.000001 79 Query 1 79 create database `drop-temp+table-test`
+master-bin.000001 168 Query 1 168 use `drop-temp+table-test`; create temporary table `table:name` (a int)
+master-bin.000001 262 Query 1 262 use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`table:name`
+master-bin.000001 391 Query 1 391 use `drop-temp+table-test`; DO RELEASE_LOCK("a")
drop database `drop-temp+table-test`;
--- 1.6/mysql-test/r/rpl_charset.result 2004-09-23 12:14:38 +02:00
+++ 1.7/mysql-test/r/rpl_charset.result 2004-11-24 09:18:34 +01:00
@@ -105,62 +105,62 @@
drop database mysqltest3;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
-master-bin.000001 79 Query 1 79 use `test`; drop database if exists mysqltest2
-master-bin.000001 148 Query 1 148 use `test`; drop database if exists mysqltest3
-master-bin.000001 217 Query 1 217 use `test`; create database mysqltest2 character set latin2
-master-bin.000001 299 Query 1 299 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=30
-master-bin.000001 433 Query 1 433 use `test`; create database mysqltest3
-master-bin.000001 494 Query 1 494 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=64
-master-bin.000001 628 Query 1 628 use `test`; drop database mysqltest3
-master-bin.000001 687 Query 1 687 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=64
-master-bin.000001 821 Query 1 821 use `test`; create database mysqltest3
-master-bin.000001 882 Query 1 882 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 1022 Query 1 1022 use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
-master-bin.000001 1129 Query 1 1129 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 1270 Intvar 1 1270 INSERT_ID=1
-master-bin.000001 1298 Query 1 1298 use `mysqltest2`; insert into t1 (b) values(@@character_set_server)
-master-bin.000001 1388 Query 1 1388 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 1529 Intvar 1 1529 INSERT_ID=2
-master-bin.000001 1557 Query 1 1557 use `mysqltest2`; insert into t1 (b) values(@@collation_server)
-master-bin.000001 1643 Query 1 1643 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 1784 Intvar 1 1784 INSERT_ID=3
-master-bin.000001 1812 Query 1 1812 use `mysqltest2`; insert into t1 (b) values(@@character_set_client)
-master-bin.000001 1902 Query 1 1902 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 2043 Intvar 1 2043 INSERT_ID=4
-master-bin.000001 2071 Query 1 2071 use `mysqltest2`; insert into t1 (b) values(@@character_set_connection)
-master-bin.000001 2165 Query 1 2165 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 2306 Intvar 1 2306 INSERT_ID=5
-master-bin.000001 2334 Query 1 2334 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 2424 Query 1 2424 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 2564 Query 1 2564 use `mysqltest2`; truncate table t1
-master-bin.000001 2622 Query 1 2622 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 2762 Intvar 1 2762 INSERT_ID=1
-master-bin.000001 2790 Query 1 2790 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 2880 Query 1 2880 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 3020 Intvar 1 3020 INSERT_ID=2
-master-bin.000001 3141 Query 1 3141 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 3282 Intvar 1 3282 INSERT_ID=3
-master-bin.000001 3310 Query 1 3310 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 3400 Query 1 3400 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 3541 Intvar 1 3541 INSERT_ID=4
-master-bin.000001 3662 Query 1 3662 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 3803 Intvar 1 3803 INSERT_ID=74
-master-bin.000001 3831 Create_file 1 3831 db=mysqltest2;table=t1;file_id=1;block_len=581
-master-bin.000001 4504 Query 1 4504 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 4645 Intvar 1 4645 INSERT_ID=5
-master-bin.000001 4673 Exec_load 1 4673 ;file_id=1
-master-bin.000001 4696 Query 1 4696 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 4837 Query 1 4837 use `mysqltest2`; truncate table t1
-master-bin.000001 4895 Query 1 4895 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 5036 Intvar 1 5036 INSERT_ID=1
-master-bin.000001 5064 User var 1 5064 @`a`=_cp850 0x4DFC6C6C6572 COLLATE cp850_general_ci
-master-bin.000001 5104 Query 1 5104 use `mysqltest2`; insert into t1 (b) values(collation(@a))
-master-bin.000001 5185 Query 1 5185 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 5326 Query 1 5326 use `mysqltest2`; drop database mysqltest2
-master-bin.000001 5391 Query 1 5391 SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
-master-bin.000001 5522 Query 1 5522 drop database mysqltest3
+master-bin.000001 79 Query 1 79 drop database if exists mysqltest2
+master-bin.000001 154 Query 1 154 drop database if exists mysqltest3
+master-bin.000001 229 Query 1 229 create database mysqltest2 character set latin2
+master-bin.000001 317 Query 1 317 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=30
+master-bin.000001 451 Query 1 451 create database mysqltest3
+master-bin.000001 518 Query 1 518 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=64
+master-bin.000001 652 Query 1 652 drop database mysqltest3
+master-bin.000001 717 Query 1 717 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=64
+master-bin.000001 851 Query 1 851 create database mysqltest3
+master-bin.000001 918 Query 1 918 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=8,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 1058 Query 1 1058 use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
+master-bin.000001 1165 Query 1 1165 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 1306 Intvar 1 1306 INSERT_ID=1
+master-bin.000001 1334 Query 1 1334 use `mysqltest2`; insert into t1 (b) values(@@character_set_server)
+master-bin.000001 1424 Query 1 1424 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 1565 Intvar 1 1565 INSERT_ID=2
+master-bin.000001 1593 Query 1 1593 use `mysqltest2`; insert into t1 (b) values(@@collation_server)
+master-bin.000001 1679 Query 1 1679 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 1820 Intvar 1 1820 INSERT_ID=3
+master-bin.000001 1848 Query 1 1848 use `mysqltest2`; insert into t1 (b) values(@@character_set_client)
+master-bin.000001 1938 Query 1 1938 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 2079 Intvar 1 2079 INSERT_ID=4
+master-bin.000001 2107 Query 1 2107 use `mysqltest2`; insert into t1 (b) values(@@character_set_connection)
+master-bin.000001 2201 Query 1 2201 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=4,COLLATION_CONNECTION=27,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 2342 Intvar 1 2342 INSERT_ID=5
+master-bin.000001 2370 Query 1 2370 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
+master-bin.000001 2460 Query 1 2460 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 2600 Query 1 2600 use `mysqltest2`; truncate table t1
+master-bin.000001 2658 Query 1 2658 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 2798 Intvar 1 2798 INSERT_ID=1
+master-bin.000001 2826 Query 1 2826 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
+master-bin.000001 2916 Query 1 2916 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=5,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 3056 Intvar 1 3056 INSERT_ID=2
+master-bin.000001 3177 Query 1 3177 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 3318 Intvar 1 3318 INSERT_ID=3
+master-bin.000001 3346 Query 1 3346 use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
+master-bin.000001 3436 Query 1 3436 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 3577 Intvar 1 3577 INSERT_ID=4
+master-bin.000001 3698 Query 1 3698 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 3839 Intvar 1 3839 INSERT_ID=74
+master-bin.000001 3867 Create_file 1 3867 db=mysqltest2;table=t1;file_id=1;block_len=581
+master-bin.000001 4540 Query 1 4540 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 4681 Intvar 1 4681 INSERT_ID=5
+master-bin.000001 4709 Exec_load 1 4709 ;file_id=1
+master-bin.000001 4732 Query 1 4732 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 4873 Query 1 4873 use `mysqltest2`; truncate table t1
+master-bin.000001 4931 Query 1 4931 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 5072 Intvar 1 5072 INSERT_ID=1
+master-bin.000001 5100 User var 1 5100 @`a`=_cp850 0x4DFC6C6C6572 COLLATE cp850_general_ci
+master-bin.000001 5140 Query 1 5140 use `mysqltest2`; insert into t1 (b) values(collation(@a))
+master-bin.000001 5221 Query 1 5221 use `mysqltest2`; SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 5362 Query 1 5362 drop database mysqltest2
+master-bin.000001 5427 Query 1 5427 SET ONE_SHOT CHARACTER_SET_CLIENT=8,COLLATION_CONNECTION=31,COLLATION_DATABASE=9,COLLATION_SERVER=64
+master-bin.000001 5558 Query 1 5558 drop database mysqltest3
set global character_set_server=latin2;
ERROR HY000: Binary logging and replication forbid changing the global server character set or collation
set global character_set_server=latin2;
@@ -200,8 +200,8 @@
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
stop slave;
delete from t1;
-change master to master_log_pos=5801;
-start slave until master_log_file='master-bin.000001', master_log_pos=5937;
+change master to master_log_pos=5847;
+start slave until master_log_file='master-bin.000001', master_log_pos=5983;
start slave;
select hex(c1), hex(c2) from t1;
hex(c1) hex(c2)
--- 1.5/mysql-test/r/rpl_loaddata_rule_m.result 2004-03-20 11:31:15 +01:00
+++ 1.6/mysql-test/r/rpl_loaddata_rule_m.result 2004-11-24 09:15:31 +01:00
@@ -12,4 +12,6 @@
load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
+master-bin.000001 79 Query 1 79 drop database if exists mysqltest
+master-bin.000001 152 Query 1 152 create database mysqltest
drop database mysqltest;
--- 1.4/mysql-test/t/rpl_charset.test 2004-09-23 12:16:45 +02:00
+++ 1.5/mysql-test/t/rpl_charset.test 2004-11-24 09:11:12 +01:00
@@ -154,9 +154,9 @@
stop slave;
delete from t1;
-change master to master_log_pos=5801;
-start slave until master_log_file='master-bin.000001', master_log_pos=5937;
-# Slave is supposed to stop _after_ the INSERT, even though 5937 is
+change master to master_log_pos=5847;
+start slave until master_log_file='master-bin.000001', master_log_pos=5983;
+# Slave is supposed to stop _after_ the INSERT, even though 5983 is
# the position of the beginning of the INSERT; after SET slave is not
# supposed to increment position.
wait_for_slave_to_stop;
--- New file ---
+++ mysql-test/r/rpl_create_database.result 04/11/24 09:15:31
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;
DROP DATABASE IF EXISTS prometheus;
Warnings:
Note 1008 Can't drop database 'prometheus'; database doesn't exist
DROP DATABASE IF EXISTS sisyfos;
Warnings:
Note 1008 Can't drop database 'sisyfos'; database doesn't exist
DROP DATABASE IF EXISTS bob;
Warnings:
Note 1008 Can't drop database 'bob'; database doesn't exist
DROP DATABASE IF EXISTS bob;
Warnings:
Note 1008 Can't drop database 'bob'; database doesn't exist
CREATE DATABASE prometheus;
CREATE DATABASE sisyfos;
CREATE DATABASE bob;
USE sisyfos;
CREATE TABLE t1 (b int);
INSERT INTO t1 VALUES(1);
USE bob;
CREATE TABLE t2 (b int);
INSERT INTO t2 VALUES(2);
ALTER DATABASE sisyfos CHARACTER SET latin1;
USE sisyfos;
ALTER DATABASE bob CHARACTER SET latin1;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 4 Start 1 4 Server ver: 4.1.8-debug-log, Binlog ver: 3
master-bin.000001 79 Query 1 79 DROP DATABASE IF EXISTS prometheus
master-bin.000001 154 Query 1 154 DROP DATABASE IF EXISTS sisyfos
master-bin.000001 223 Query 1 223 CREATE DATABASE prometheus
master-bin.000001 290 Query 1 290 CREATE DATABASE sisyfos
master-bin.000001 351 Query 1 351 use `sisyfos`; CREATE TABLE t1 (b int)
master-bin.000001 412 Query 1 412 use `sisyfos`; INSERT INTO t1 VALUES(1)
master-bin.000001 474 Query 1 474 ALTER DATABASE sisyfos CHARACTER SET latin1
SHOW DATABASES;
Database
bob
mysql
prometheus
sisyfos
test
SHOW DATABASES;
Database
mysql
prometheus
sisyfos
test
DROP DATABASE IF EXISTS prometheus;
DROP DATABASE IF EXISTS sisyfos;
DROP DATABASE IF EXISTS bob;
--- New file ---
+++ mysql-test/t/rpl_create_database-master.opt 04/11/24 09:11:08
--binlog-do-db=sisyfos --binlog-do-db=prometheus
--- New file ---
+++ mysql-test/t/rpl_create_database-slave.opt 04/11/24 09:11:09
--replicate-do-db=sisyfos --replicate-do-db=prometheus
--- New file ---
+++ mysql-test/t/rpl_create_database.test 04/11/24 09:11:09
#
# Tests for replication of statements that manipulate databases.
#
# For this test file, we have a number of databases. All databases
# with "greek" names will be replicated on the slave, while other names
# (e.g., american) will not be replicated.
#
source include/master-slave.inc;
# Bug#6391 (binlog-do-db rules ignored)
# In this case, 'bob' should not be replicated to the slave.
DROP DATABASE IF EXISTS prometheus;
DROP DATABASE IF EXISTS sisyfos;
DROP DATABASE IF EXISTS bob;
sync_slave_with_master;
# This database is not replicated
DROP DATABASE IF EXISTS bob;
connection master;
CREATE DATABASE prometheus;
CREATE DATABASE sisyfos;
CREATE DATABASE bob;
USE sisyfos;
# These should be replicated
CREATE TABLE t1 (b int);
INSERT INTO t1 VALUES(1);
USE bob;
# These should *not* be replicated
CREATE TABLE t2 (b int);
INSERT INTO t2 VALUES(2);
# Current database is now 'bob'
# The following should be replicated
ALTER DATABASE sisyfos CHARACTER SET latin1;
USE sisyfos;
# The following should *not* be replicated
ALTER DATABASE bob CHARACTER SET latin1;
SHOW BINLOG EVENTS;
SHOW DATABASES;
sync_slave_with_master;
SHOW DATABASES;
connection master;
DROP DATABASE IF EXISTS prometheus;
DROP DATABASE IF EXISTS sisyfos;
DROP DATABASE IF EXISTS bob;
sync_slave_with_master;
| Thread |
|---|
| • bk commit into 4.1 tree (mats:1.2140) | Mats Kindahl | 24 Nov |