diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-02-02 11:40:02 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-02-02 11:40:02 +0200 |
commit | 081fd8bfa280635a7e699a17b035032460cb5160 (patch) | |
tree | d5ea2c0f31aafe566d749f6dd60f5bc631f60862 /sql/log_event_old.cc | |
parent | 09cea8703f3ec4e4f9e23855a339c9e3d5e84d3b (diff) | |
parent | a193c5720ea461ce82390af3fe9c292581242223 (diff) | |
download | mariadb-git-081fd8bfa280635a7e699a17b035032460cb5160.tar.gz |
Merge 10.1 into 10.2
Diffstat (limited to 'sql/log_event_old.cc')
-rw-r--r-- | sql/log_event_old.cc | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/sql/log_event_old.cc b/sql/log_event_old.cc index ce9bca920fe..2b6509048ba 100644 --- a/sql/log_event_old.cc +++ b/sql/log_event_old.cc @@ -1853,12 +1853,17 @@ void Old_rows_log_event::pack_info(Protocol *protocol) #ifdef MYSQL_CLIENT +/* Method duplicates Rows_log_event's one */ void Old_rows_log_event::print_helper(FILE *file, PRINT_EVENT_INFO *print_event_info, char const *const name) { IO_CACHE *const head= &print_event_info->head_cache; IO_CACHE *const body= &print_event_info->body_cache; + bool do_print_encoded= + print_event_info->base64_output_mode != BASE64_OUTPUT_DECODE_ROWS && + !print_event_info->short_form; + if (!print_event_info->short_form) { bool const last_stmt_event= get_flags(STMT_END_F); @@ -1866,13 +1871,26 @@ void Old_rows_log_event::print_helper(FILE *file, my_b_printf(head, "\t%s: table id %lu%s\n", name, m_table_id, last_stmt_event ? " flags: STMT_END_F" : ""); - print_base64(body, print_event_info, !last_stmt_event); + print_base64(body, print_event_info, do_print_encoded); } if (get_flags(STMT_END_F)) { - copy_event_cache_to_file_and_reinit(head, file); - copy_event_cache_to_file_and_reinit(body, file); + LEX_STRING tmp_str; + + if (copy_event_cache_to_string_and_reinit(head, &tmp_str)) + { + head->error= -1; + return; + } + output_buf.append(&tmp_str); + my_free(tmp_str.str); + + copy_cache_to_string_wrapped(body, &tmp_str, do_print_encoded, + print_event_info->delimiter, + print_event_info->verbose); + output_buf.append(&tmp_str); + my_free(tmp_str.str); } } #endif |