Commit e562a201 authored by unknown's avatar unknown
Browse files

Fix for a segfault in my previous cset (about WL#2712 and WL#2977).


sql/sql_load.cc:
  fix for segfault in my previous cset
sql/sql_repl.cc:
  if RBR, log_loaded_block() returns immediately (code moved from sql_load.cc)
parent 9cd6325b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -948,8 +948,7 @@ READ_INFO::READ_INFO(File file_par, uint tot_length, CHARSET_INFO *cs,
      if (get_it_from_net)
	cache.read_function = _my_b_net_read;

      if (((LOAD_FILE_INFO*)cache.arg)->thd->current_stmt_binlog_row_based &&
          mysql_bin_log.is_open())
      if (mysql_bin_log.is_open())
	cache.pre_read = cache.pre_close =
	  (IO_CACHE_CALLBACK) log_loaded_block;
#endif
+2 −0
Original line number Diff line number Diff line
@@ -1576,6 +1576,8 @@ int log_loaded_block(IO_CACHE* file)
  if (!(block_len = (char*) file->read_end - (char*) buffer))
    return 0;
  lf_info = (LOAD_FILE_INFO*) file->arg;
  if (lf_info->thd->current_stmt_binlog_row_based)
    return 0;
  if (lf_info->last_pos_in_file != HA_POS_ERROR &&
      lf_info->last_pos_in_file >= file->pos_in_file)
    return 0;