Commit 7f27d982 authored by knielsen@mysql.com's avatar knielsen@mysql.com

Merge bk-internal:/home/bk/mysql-5.1-new

into  mysql.com:/usr/local/mysql/mysql-5.1-new
parents fc8fdd25 4d3ad156
...@@ -5608,8 +5608,8 @@ void Rows_log_event::pack_info(Protocol *protocol) ...@@ -5608,8 +5608,8 @@ void Rows_log_event::pack_info(Protocol *protocol)
char buf[256]; char buf[256];
char const *const flagstr= char const *const flagstr=
get_flags(STMT_END_F) ? " flags: STMT_END_F" : ""; get_flags(STMT_END_F) ? " flags: STMT_END_F" : "";
my_size_t bytes= snprintf(buf, sizeof(buf), my_size_t bytes= my_snprintf(buf, sizeof(buf),
"table_id: %lu%s", m_table_id, flagstr); "table_id: %lu%s", m_table_id, flagstr);
protocol->store(buf, bytes, &my_charset_bin); protocol->store(buf, bytes, &my_charset_bin);
} }
#endif #endif
...@@ -6030,8 +6030,8 @@ bool Table_map_log_event::write_data_body(IO_CACHE *file) ...@@ -6030,8 +6030,8 @@ bool Table_map_log_event::write_data_body(IO_CACHE *file)
void Table_map_log_event::pack_info(Protocol *protocol) void Table_map_log_event::pack_info(Protocol *protocol)
{ {
char buf[256]; char buf[256];
my_size_t bytes= snprintf(buf, sizeof(buf), my_size_t bytes= my_snprintf(buf, sizeof(buf),
"table_id: %lu (%s.%s)", "table_id: %lu (%s.%s)",
m_table_id, m_dbnam, m_tblnam); m_table_id, m_dbnam, m_tblnam);
protocol->store(buf, bytes, &my_charset_bin); protocol->store(buf, bytes, &my_charset_bin);
} }
......
...@@ -1602,6 +1602,7 @@ class select_create: public select_insert { ...@@ -1602,6 +1602,7 @@ class select_create: public select_insert {
lock(0) lock(0)
{} {}
int prepare(List<Item> &list, SELECT_LEX_UNIT *u); int prepare(List<Item> &list, SELECT_LEX_UNIT *u);
friend class select_create_prepare_hooks;
void binlog_show_create_table(TABLE **tables, uint count); void binlog_show_create_table(TABLE **tables, uint count);
void store_values(List<Item> &values); void store_values(List<Item> &values);
......
...@@ -2498,25 +2498,28 @@ bool select_insert::send_eof() ...@@ -2498,25 +2498,28 @@ bool select_insert::send_eof()
CREATE TABLE (SELECT) ... CREATE TABLE (SELECT) ...
***************************************************************************/ ***************************************************************************/
/* HPUX compiler bug prevents this from being a local class, since then it
does not have access to protected member select_create::thd.
*/
class select_create_prepare_hooks : public TABLEOP_HOOKS {
public:
select_create_prepare_hooks(select_create *x) : ptr(x) { }
virtual void do_prelock(TABLE **tables, uint count)
{
if (ptr->thd->current_stmt_binlog_row_based)
ptr->binlog_show_create_table(tables, count);
}
private:
select_create *ptr;
};
int int
select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u) select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
{ {
DBUG_ENTER("select_create::prepare"); DBUG_ENTER("select_create::prepare");
class MY_HOOKS : public TABLEOP_HOOKS { select_create_prepare_hooks hooks(this);
public:
MY_HOOKS(select_create *x) : ptr(x) { }
virtual void do_prelock(TABLE **tables, uint count)
{
if (ptr->thd->current_stmt_binlog_row_based)
ptr->binlog_show_create_table(tables, count);
}
private:
select_create *ptr;
};
MY_HOOKS hooks(this);
unit= u; unit= u;
table= create_table_from_items(thd, create_info, create_table, table= create_table_from_items(thd, create_info, create_table,
......
...@@ -1604,12 +1604,12 @@ btr_search_validate(void) ...@@ -1604,12 +1604,12 @@ btr_search_validate(void)
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint offsets_[REC_OFFS_NORMAL_SIZE];
ulint* offsets = offsets_; ulint* offsets = offsets_;
*offsets_ = (sizeof offsets_) / sizeof *offsets_;
/* How many cells to check before temporarily releasing /* How many cells to check before temporarily releasing
btr_search_latch. */ btr_search_latch. */
ulint chunk_size = 10000; ulint chunk_size = 10000;
*offsets_ = (sizeof offsets_) / sizeof *offsets_;
rw_lock_x_lock(&btr_search_latch); rw_lock_x_lock(&btr_search_latch);
cell_count = hash_get_n_cells(btr_search_sys->hash_index); cell_count = hash_get_n_cells(btr_search_sys->hash_index);
......
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