mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Misc. portability compile fixes.
sql/log_event.cc: Fix Windows compile errors. storage/innobase/btr/btr0sea.c: Fix AIX compile error (declarations must come before code in traditional C). sql/sql_class.h: Fix HPUX compile problem (HP compiler bug). Local class of member in derived class has no access to protected members, so make the class global and a friend. sql/sql_insert.cc: Fix HPUX compile problem (HP compiler bug). Local class of member in derived class has no access to protected members, so make the class global and a friend.
This commit is contained in:
@ -5608,8 +5608,8 @@ void Rows_log_event::pack_info(Protocol *protocol)
|
||||
char buf[256];
|
||||
char const *const flagstr=
|
||||
get_flags(STMT_END_F) ? " flags: STMT_END_F" : "";
|
||||
my_size_t bytes= snprintf(buf, sizeof(buf),
|
||||
"table_id: %lu%s", m_table_id, flagstr);
|
||||
my_size_t bytes= my_snprintf(buf, sizeof(buf),
|
||||
"table_id: %lu%s", m_table_id, flagstr);
|
||||
protocol->store(buf, bytes, &my_charset_bin);
|
||||
}
|
||||
#endif
|
||||
@ -6030,8 +6030,8 @@ bool Table_map_log_event::write_data_body(IO_CACHE *file)
|
||||
void Table_map_log_event::pack_info(Protocol *protocol)
|
||||
{
|
||||
char buf[256];
|
||||
my_size_t bytes= snprintf(buf, sizeof(buf),
|
||||
"table_id: %lu (%s.%s)",
|
||||
my_size_t bytes= my_snprintf(buf, sizeof(buf),
|
||||
"table_id: %lu (%s.%s)",
|
||||
m_table_id, m_dbnam, m_tblnam);
|
||||
protocol->store(buf, bytes, &my_charset_bin);
|
||||
}
|
||||
|
@ -1602,6 +1602,7 @@ public:
|
||||
lock(0)
|
||||
{}
|
||||
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 store_values(List<Item> &values);
|
||||
|
@ -2498,25 +2498,28 @@ bool select_insert::send_eof()
|
||||
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
|
||||
select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
|
||||
{
|
||||
DBUG_ENTER("select_create::prepare");
|
||||
|
||||
class MY_HOOKS : public TABLEOP_HOOKS {
|
||||
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);
|
||||
select_create_prepare_hooks hooks(this);
|
||||
|
||||
unit= u;
|
||||
table= create_table_from_items(thd, create_info, create_table,
|
||||
|
@ -1604,12 +1604,12 @@ btr_search_validate(void)
|
||||
mem_heap_t* heap = NULL;
|
||||
ulint offsets_[REC_OFFS_NORMAL_SIZE];
|
||||
ulint* offsets = offsets_;
|
||||
*offsets_ = (sizeof offsets_) / sizeof *offsets_;
|
||||
|
||||
/* How many cells to check before temporarily releasing
|
||||
btr_search_latch. */
|
||||
ulint chunk_size = 10000;
|
||||
|
||||
*offsets_ = (sizeof offsets_) / sizeof *offsets_;
|
||||
|
||||
rw_lock_x_lock(&btr_search_latch);
|
||||
|
||||
cell_count = hash_get_n_cells(btr_search_sys->hash_index);
|
||||
|
Reference in New Issue
Block a user