Commit 73e868f4 authored by unknown's avatar unknown
Browse files

Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/users/mkindahl/bk/fix-mysql-5.1-new

parents eea7adc7 00ba4659
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1673,8 +1673,11 @@ class Table_map_log_event : public Log_event
  {
    /* 
       Nothing here right now, but the flags support is there in
       preparation for changes that are coming.
       preparation for changes that are coming.  Need to add a
       constant to make it compile under HP-UX: aCC does not like
       empty enumerations.
    */
    ENUM_FLAG_COUNT
  };

  typedef uint16 flag_set;
+23 −16
Original line number Diff line number Diff line
@@ -2173,7 +2173,8 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
                                       MY_BITMAP const* cols,
                                       my_size_t colcnt,
                                       my_size_t needed,
                                       bool is_transactional)
                                       bool is_transactional,
				       RowsEventT *hint __attribute__((unused)))
{
  /* Pre-conditions */
  DBUG_ASSERT(table->s->table_map_id != ULONG_MAX);
@@ -2238,16 +2239,19 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
  compiling option.
*/
template Rows_log_event*
THD::binlog_prepare_pending_rows_event<Write_rows_log_event>
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool);
THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
				       my_size_t, my_size_t, bool,
				       Write_rows_log_event*);

template Rows_log_event*
THD::binlog_prepare_pending_rows_event<Delete_rows_log_event>
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool);
THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
				       my_size_t colcnt, my_size_t, bool,
				       Delete_rows_log_event *);

template Rows_log_event* 
THD::binlog_prepare_pending_rows_event<Update_rows_log_event>
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool);
THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
				       my_size_t colcnt, my_size_t, bool,
				       Update_rows_log_event *);

static char const* 
field_type_name(enum_field_types type) 
@@ -2384,9 +2388,10 @@ int THD::binlog_write_row(TABLE* table, bool is_trans,
  }
  my_size_t const len= pack_row(table, cols, row_data, record);

  Rows_log_event* const
    ev= binlog_prepare_pending_rows_event<Write_rows_log_event>
    (table, server_id, cols, colcnt, len, is_trans);
  Rows_log_event* const ev=
    binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
				      len, is_trans,
				      static_cast<Write_rows_log_event*>(0));

  /* add_row_data copies row_data to internal buffer */
  error= likely(ev != 0) ? ev->add_row_data(row_data,len) : HA_ERR_OUT_OF_MEM ;
@@ -2429,9 +2434,10 @@ int THD::binlog_update_row(TABLE* table, bool is_trans,
  my_size_t const after_size= pack_row(table, cols, after_row, 
                                       after_record);
  
  Rows_log_event* const
    ev= binlog_prepare_pending_rows_event<Update_rows_log_event>
    (table, server_id, cols, colcnt, before_size + after_size, is_trans);
  Rows_log_event* const ev=
    binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
				      before_size + after_size, is_trans,
				      static_cast<Update_rows_log_event*>(0));

  error= (unlikely(!ev)) || ev->add_row_data(before_row, before_size) ||
    ev->add_row_data(after_row, after_size);
@@ -2462,9 +2468,10 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans,
    return HA_ERR_OUT_OF_MEM;
  my_size_t const len= pack_row(table, cols, row_data, record);

  Rows_log_event* const
    ev= binlog_prepare_pending_rows_event<Delete_rows_log_event>
    (table, server_id, cols, colcnt, len, is_trans);
  Rows_log_event* const ev=
    binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
				      len, is_trans,
				      static_cast<Delete_rows_log_event*>(0));

  error= (unlikely(!ev)) || ev->add_row_data(row_data, len);

+2 −1
Original line number Diff line number Diff line
@@ -922,7 +922,8 @@ class THD :public Statement,
                                      MY_BITMAP const* cols,
                                      my_size_t colcnt,
                                      my_size_t needed,
                                      bool is_transactional);
                                      bool is_transactional,
				      RowsEventT* hint);
  Rows_log_event* binlog_get_pending_rows_event() const;
  void            binlog_set_pending_rows_event(Rows_log_event* ev);
  int             binlog_setup_trx_data();