diff options
author | unknown <bar@bar.intranet.mysql.r18.ru> | 2006-12-08 10:33:05 +0400 |
---|---|---|
committer | unknown <bar@bar.intranet.mysql.r18.ru> | 2006-12-08 10:33:05 +0400 |
commit | 75127a6921b6c42e67fa658b345034804f59186e (patch) | |
tree | 7b21b69c0828ff1bc851acd8d545ea7472e5bf6a /client | |
parent | 9eb9f25fc06f84ad3e7799a090fbe67ae4ecc4f3 (diff) | |
parent | b93baf4832951f70231a7d2063cfe4f41c677a8f (diff) | |
download | mariadb-git-75127a6921b6c42e67fa658b345034804f59186e.tar.gz |
After merge fix
client/mysqlbinlog.cc:
Auto merged
mysql-test/r/user_var-binlog.result:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/r/rpl_stm_charset.result:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
after merge fix.
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqlbinlog.cc | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 660be6bce50..b20d5ae5428 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -95,8 +95,10 @@ static bool stop_passed= 0; */ Format_description_log_event* description_event; -static int dump_local_log_entries(const char* logname); -static int dump_remote_log_entries(const char* logname); +static int dump_local_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname); +static int dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname); static int dump_log_entries(const char* logname); static int dump_remote_file(NET* net, const char* fname); static void die(const char* fmt, ...); @@ -1000,8 +1002,22 @@ static MYSQL* safe_connect() static int dump_log_entries(const char* logname) { - return (remote_opt ? dump_remote_log_entries(logname) : - dump_local_log_entries(logname)); + int rc; + PRINT_EVENT_INFO print_event_info; + /* + Set safe delimiter, to dump things + like CREATE PROCEDURE safely + */ + fprintf(result_file, "DELIMITER /*!*/;\n"); + strcpy(print_event_info.delimiter, "/*!*/;"); + + rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) : + dump_local_log_entries(&print_event_info, logname)); + + /* Set delimiter back to semicolon */ + fprintf(result_file, "DELIMITER ;\n"); + strcpy(print_event_info.delimiter, ";"); + return rc; } @@ -1066,11 +1082,11 @@ static int check_master_version(MYSQL* mysql, } -static int dump_remote_log_entries(const char* logname) +static int dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname) { char buf[128]; - PRINT_EVENT_INFO print_event_info; ulong len; uint logname_len; NET* net; @@ -1193,7 +1209,7 @@ could be out of memory"); len= 1; // fake Rotate, so don't increment old_off } } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { error= ((error < 0) ? 0 : 1); goto err; @@ -1212,7 +1228,7 @@ could be out of memory"); goto err; } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { my_close(file,MYF(MY_WME)); error= ((error < 0) ? 0 : 1); @@ -1338,11 +1354,11 @@ at offset %lu ; this could be a log format error or read error", } -static int dump_local_log_entries(const char* logname) +static int dump_local_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname) { File fd = -1; IO_CACHE cache,*file= &cache; - PRINT_EVENT_INFO print_event_info; byte tmp_buff[BIN_LOG_HEADER_SIZE]; int error= 0; @@ -1429,7 +1445,7 @@ static int dump_local_log_entries(const char* logname) // file->error == 0 means EOF, that's OK, we break in this case break; } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { if (error < 0) error= 0; |