diff options
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index 1f7a4013d80..23622bc0141 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -220,13 +220,13 @@ void Log_event::pack_info(String* packet) void Query_log_event::pack_info(String* packet) { char buf[256]; - String tmp(buf, sizeof(buf)); + String tmp(buf, sizeof(buf), system_charset_info); tmp.length(0); if (db && db_len) { - tmp.append("use "); + tmp.append("use `", 5); tmp.append(db, db_len); - tmp.append("; ", 2); + tmp.append("`; ", 3); } if (query && q_len) @@ -237,7 +237,7 @@ void Query_log_event::pack_info(String* packet) void Start_log_event::pack_info(String* packet) { char buf1[256]; - String tmp(buf1, sizeof(buf1)); + String tmp(buf1, sizeof(buf1), system_charset_info); tmp.length(0); char buf[22]; @@ -251,7 +251,7 @@ void Start_log_event::pack_info(String* packet) void Load_log_event::pack_info(String* packet) { char buf[256]; - String tmp(buf, sizeof(buf)); + String tmp(buf, sizeof(buf), system_charset_info); tmp.length(0); if (db && db_len) { @@ -327,7 +327,7 @@ void Load_log_event::pack_info(String* packet) void Rotate_log_event::pack_info(String* packet) { char buf1[256], buf[22]; - String tmp(buf1, sizeof(buf1)); + String tmp(buf1, sizeof(buf1), system_charset_info); tmp.length(0); tmp.append(new_log_ident, ident_len); tmp.append(";pos="); @@ -340,7 +340,7 @@ void Rotate_log_event::pack_info(String* packet) void Intvar_log_event::pack_info(String* packet) { char buf1[256], buf[22]; - String tmp(buf1, sizeof(buf1)); + String tmp(buf1, sizeof(buf1), system_charset_info); tmp.length(0); tmp.append(get_var_type_name()); tmp.append('='); @@ -351,7 +351,7 @@ void Intvar_log_event::pack_info(String* packet) void Slave_log_event::pack_info(String* packet) { char buf1[256], buf[22], *end; - String tmp(buf1, sizeof(buf1)); + String tmp(buf1, sizeof(buf1), system_charset_info); tmp.length(0); tmp.append("host="); tmp.append(master_host); @@ -1456,7 +1456,7 @@ void Create_file_log_event::print(FILE* file, bool short_form, void Create_file_log_event::pack_info(String* packet) { char buf1[256],buf[22], *end; - String tmp(buf1, sizeof(buf1)); + String tmp(buf1, sizeof(buf1), system_charset_info); tmp.length(0); tmp.append("db="); tmp.append(db, db_len); @@ -1480,6 +1480,7 @@ Append_block_log_event::Append_block_log_event(THD* thd_arg, char* block_arg, { } #endif + Append_block_log_event::Append_block_log_event(const char* buf, int len) :Log_event(buf, 0),block(0) @@ -1520,11 +1521,12 @@ void Append_block_log_event::pack_info(String* packet) net_store_data(packet, buf1); } + Delete_file_log_event::Delete_file_log_event(THD* thd_arg) :Log_event(thd_arg),file_id(thd_arg->file_id) { } -#endif +#endif Delete_file_log_event::Delete_file_log_event(const char* buf, int len) @@ -1553,7 +1555,7 @@ void Delete_file_log_event::print(FILE* file, bool short_form, fputc('\n', file); fprintf(file, "#Delete_file: file_id=%u\n", file_id); } -#endif +#endif #ifndef MYSQL_CLIENT void Delete_file_log_event::pack_info(String* packet) @@ -1572,6 +1574,7 @@ Execute_load_log_event::Execute_load_log_event(THD* thd_arg) } #endif + Execute_load_log_event::Execute_load_log_event(const char* buf,int len) :Log_event(buf, 0),file_id(0) { @@ -1580,6 +1583,7 @@ Execute_load_log_event::Execute_load_log_event(const char* buf,int len) file_id = uint4korr(buf + LOG_EVENT_HEADER_LEN + EL_FILE_ID_OFFSET); } + int Execute_load_log_event::write_data(IO_CACHE* file) { byte buf[EXEC_LOAD_HEADER_LEN]; @@ -1729,12 +1733,16 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli) handle_dup = DUP_REPLACE; sql_exchange ex((char*)fname, sql_ex.opt_flags && DUMPFILE_FLAG ); - String field_term(sql_ex.field_term,sql_ex.field_term_len); - String enclosed(sql_ex.enclosed,sql_ex.enclosed_len); - String line_term(sql_ex.line_term,sql_ex.line_term_len); - String line_start(sql_ex.line_start,sql_ex.line_start_len); - String escaped(sql_ex.escaped,sql_ex.escaped_len); - + String field_term(sql_ex.field_term,sql_ex.field_term_len, + system_charset_info); + String enclosed(sql_ex.enclosed,sql_ex.enclosed_len, + system_charset_info); + String line_term(sql_ex.line_term,sql_ex.line_term_len, + system_charset_info); + String line_start(sql_ex.line_start,sql_ex.line_start_len, + system_charset_info); + String escaped(sql_ex.escaped,sql_ex.escaped_len, system_charset_info); + ex.opt_enclosed = (sql_ex.opt_flags & OPT_ENCLOSED_FLAG); if (sql_ex.empty_flags & FIELD_TERM_EMPTY) ex.field_term->length(0); |