Commit c600d05f authored by mats@mysql.com's avatar mats@mysql.com

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

into  mysql.com:/users/mkindahl/bk/fix-mysql-5.1-new
parents c57a439b 94d3a8e0
...@@ -1673,8 +1673,11 @@ class Table_map_log_event : public Log_event ...@@ -1673,8 +1673,11 @@ class Table_map_log_event : public Log_event
{ {
/* /*
Nothing here right now, but the flags support is there in 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; typedef uint16 flag_set;
......
...@@ -2173,7 +2173,8 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id, ...@@ -2173,7 +2173,8 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
MY_BITMAP const* cols, MY_BITMAP const* cols,
my_size_t colcnt, my_size_t colcnt,
my_size_t needed, my_size_t needed,
bool is_transactional) bool is_transactional,
RowsEventT *hint __attribute__((unused)))
{ {
/* Pre-conditions */ /* Pre-conditions */
DBUG_ASSERT(table->s->table_map_id != ULONG_MAX); DBUG_ASSERT(table->s->table_map_id != ULONG_MAX);
...@@ -2238,16 +2239,19 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id, ...@@ -2238,16 +2239,19 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
compiling option. compiling option.
*/ */
template Rows_log_event* template Rows_log_event*
THD::binlog_prepare_pending_rows_event<Write_rows_log_event> THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool); my_size_t, my_size_t, bool,
Write_rows_log_event*);
template Rows_log_event* template Rows_log_event*
THD::binlog_prepare_pending_rows_event<Delete_rows_log_event> THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool); my_size_t colcnt, my_size_t, bool,
Delete_rows_log_event *);
template Rows_log_event* template Rows_log_event*
THD::binlog_prepare_pending_rows_event<Update_rows_log_event> THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
(TABLE*, uint32, MY_BITMAP const*, my_size_t colcnt, size_t, bool); my_size_t colcnt, my_size_t, bool,
Update_rows_log_event *);
static char const* static char const*
field_type_name(enum_field_types type) field_type_name(enum_field_types type)
...@@ -2384,9 +2388,10 @@ int THD::binlog_write_row(TABLE* table, bool is_trans, ...@@ -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); my_size_t const len= pack_row(table, cols, row_data, record);
Rows_log_event* const Rows_log_event* const ev=
ev= binlog_prepare_pending_rows_event<Write_rows_log_event> binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
(table, server_id, cols, colcnt, len, is_trans); len, is_trans,
static_cast<Write_rows_log_event*>(0));
/* add_row_data copies row_data to internal buffer */ /* 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 ; 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, ...@@ -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, my_size_t const after_size= pack_row(table, cols, after_row,
after_record); after_record);
Rows_log_event* const Rows_log_event* const ev=
ev= binlog_prepare_pending_rows_event<Update_rows_log_event> binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
(table, server_id, cols, colcnt, before_size + after_size, is_trans); before_size + after_size, is_trans,
static_cast<Update_rows_log_event*>(0));
error= (unlikely(!ev)) || ev->add_row_data(before_row, before_size) || error= (unlikely(!ev)) || ev->add_row_data(before_row, before_size) ||
ev->add_row_data(after_row, after_size); ev->add_row_data(after_row, after_size);
...@@ -2462,9 +2468,10 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans, ...@@ -2462,9 +2468,10 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans,
return HA_ERR_OUT_OF_MEM; return HA_ERR_OUT_OF_MEM;
my_size_t const len= pack_row(table, cols, row_data, record); my_size_t const len= pack_row(table, cols, row_data, record);
Rows_log_event* const Rows_log_event* const ev=
ev= binlog_prepare_pending_rows_event<Delete_rows_log_event> binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
(table, server_id, cols, colcnt, len, is_trans); len, is_trans,
static_cast<Delete_rows_log_event*>(0));
error= (unlikely(!ev)) || ev->add_row_data(row_data, len); error= (unlikely(!ev)) || ev->add_row_data(row_data, len);
......
...@@ -922,7 +922,8 @@ class THD :public Statement, ...@@ -922,7 +922,8 @@ class THD :public Statement,
MY_BITMAP const* cols, MY_BITMAP const* cols,
my_size_t colcnt, my_size_t colcnt,
my_size_t needed, my_size_t needed,
bool is_transactional); bool is_transactional,
RowsEventT* hint);
Rows_log_event* binlog_get_pending_rows_event() const; Rows_log_event* binlog_get_pending_rows_event() const;
void binlog_set_pending_rows_event(Rows_log_event* ev); void binlog_set_pending_rows_event(Rows_log_event* ev);
int binlog_setup_trx_data(); int binlog_setup_trx_data();
......
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