Hi Sergey,
Please change to use multiple-strings; "Updates to a database with a different name than the original." "Example: rewrite-db='from->to'.", as that is what is done around the codebase.
Just few lines above there is a sample which I followed: {"to-last-log", 't', "Requires -R. Will not stop at the end of the \ requested binlog but rather continue printing until the end of the last \ binlog of the MySQL server. If you send the output to the same MySQL server, \ that may lead to an endless loop.", So, either this does not matter or I should do similar changes everywhere in mysqlbinlog.cc (at least). Actually, I don't know whether it is regulated by coding style or some other reasons.
+#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup Apparently this testcase will succeed only at 4:40 on 01-Sept-2009. Please make a stable testcase.
010909 4:46:40 is the result of # Fix timestamp to avoid varying results. SET timestamp=1000000000; in the *.test file. This SETing is used in all mysql_test/t/mysqlbinlog_*.test files (to relieve regex'es of additional replacement) and I followed this pattern. Alex 28.10.09, 00:08, "Sergey Petrunya" <psergey@askmonty.org>:
Hi Alexander, Please find the feedback for post-review fixes below:
=== modified file 'client/mysqlbinlog.cc' --- client/mysqlbinlog.cc 2009-10-24 19:43:39 +0000 +++ client/mysqlbinlog.cc 2009-10-27 13:42:47 +0000 @@ -38,8 +38,8 @@ /* Needed for Rpl_filter */ CHARSET_INFO* system_charset_info= &my_charset_utf8_general_ci;
-#include "sql_string.h" // needed for Rpl_filter -#include "sql_list.h" // needed for Rpl_filter +#include "sql_string.h" // needed for Rpl_filter +#include "sql_list.h" // needed for Rpl_filter #include "rpl_filter.h"
Rpl_filter *binlog_filter; @@ -1190,7 +1190,8 @@ (uchar**) &open_files_limit, (uchar**) &open_files_limit, 0, GET_ULONG, REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0}, {"rewrite-db", OPT_REWRITE_DB, - "Updates to a database with a different name than the original.", + "Updates to a database with a different name than the original. \ +Example: rewrite-db='from->to'.", Please change to use multiple-strings; "Updates to a database with a different name than the original." "Example: rewrite-db='from->to'.", as that is what is done around the codebase. 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} };
=== modified file 'mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result' --- mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result 2009-10-24 21:48:58 +0000 +++ mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result 2009-10-27 13:42:47 +0000 @@ -216,6 +216,201 @@ # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# mysqlbinlog output +# --base64-output = decode-rows +# --rewrite-db = test1->new_test1 +# --rewrite-db = test3->new_test3 +# --read-from-remote-server +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup Apparently this testcase will succeed only at 4:40 on 01-Sept-2009. Please make a stable testcase. +ROLLBACK/*!*/; +# at # +use new_test1/*!*/; +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; After the above is fixed, we'll need to do another push and buildbot run to see if there are any problems. BR Sergey
-- Эмоциональная почта находится здесь: http://mail.yandex.ru/promo/new/emotions