Commit f83514a0 authored by unknown's avatar unknown
Browse files

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.


sql/log_event.cc:
  For LOAD DATA INFILE to be preceded by SET PSEUDO_THREAD_ID if needed, in the mysqlbinlog output,
  we need to use the LOG_EVENT_THREAD_SPECIFIC_F flag in Load_log_event exactly like we already do  
  in Query_log_event.
parent befcff9b
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1406,7 +1406,9 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex,
			       List<Item> &fields_arg,
			       enum enum_duplicates handle_dup,
			       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),
   num_fields(0),fields(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,
            commented ? "# " : "",
            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 ",
          commented ? "# " : "");
  if (check_fname_outside_temp_buf())