Commit ba5bc4e6 authored by guilhem@mysql.com's avatar guilhem@mysql.com

Fix for BUG#6671 "mysqlbinlog does not show thread_id for LOAD DATA INFILE"

(exactly, for the bug in 4.1 reported in this bug report). We just make
Load_log_event work like Query_log_event for temp tables.
parent 227ffeb9
...@@ -1406,7 +1406,9 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex, ...@@ -1406,7 +1406,9 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex,
List<Item> &fields_arg, List<Item> &fields_arg,
enum enum_duplicates handle_dup, enum enum_duplicates handle_dup,
bool using_trans) bool using_trans)
:Log_event(thd_arg, 0, using_trans), thread_id(thd_arg->thread_id), :Log_event(thd_arg, !thd_arg->tmp_table_used ?
0 : LOG_EVENT_THREAD_SPECIFIC_F, using_trans),
thread_id(thd_arg->thread_id),
slave_proxy_id(thd_arg->variables.pseudo_thread_id), slave_proxy_id(thd_arg->variables.pseudo_thread_id),
num_fields(0),fields(0), num_fields(0),fields(0),
field_lens(0),field_block_len(0), field_lens(0),field_block_len(0),
...@@ -1596,6 +1598,9 @@ void Load_log_event::print(FILE* file, bool short_form, char* last_db, ...@@ -1596,6 +1598,9 @@ void Load_log_event::print(FILE* file, bool short_form, char* last_db,
commented ? "# " : "", commented ? "# " : "",
db); db);
if (flags & LOG_EVENT_THREAD_SPECIFIC_F)
fprintf(file,"%sSET @@session.pseudo_thread_id=%lu;\n",
commented ? "# " : "", (ulong)thread_id);
fprintf(file, "%sLOAD DATA ", fprintf(file, "%sLOAD DATA ",
commented ? "# " : ""); commented ? "# " : "");
if (check_fname_outside_temp_buf()) if (check_fname_outside_temp_buf())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment