1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +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:
unknown
2006-03-13 16:07:00 +01:00
parent 5a07a0986b
commit 357007b3b4
4 changed files with 24 additions and 20 deletions

View File

@@ -5608,7 +5608,7 @@ 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);
} }
@@ -6030,7 +6030,7 @@ 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);

View File

@@ -1602,6 +1602,7 @@ public:
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);

View File

@@ -2498,14 +2498,12 @@ bool select_insert::send_eof()
CREATE TABLE (SELECT) ... CREATE TABLE (SELECT) ...
***************************************************************************/ ***************************************************************************/
int /* HPUX compiler bug prevents this from being a local class, since then it
select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u) does not have access to protected member select_create::thd.
{ */
DBUG_ENTER("select_create::prepare"); class select_create_prepare_hooks : public TABLEOP_HOOKS {
class MY_HOOKS : public TABLEOP_HOOKS {
public: public:
MY_HOOKS(select_create *x) : ptr(x) { } select_create_prepare_hooks(select_create *x) : ptr(x) { }
virtual void do_prelock(TABLE **tables, uint count) virtual void do_prelock(TABLE **tables, uint count)
{ {
if (ptr->thd->current_stmt_binlog_row_based) if (ptr->thd->current_stmt_binlog_row_based)
@@ -2516,7 +2514,12 @@ select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
select_create *ptr; select_create *ptr;
}; };
MY_HOOKS hooks(this); int
select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
{
DBUG_ENTER("select_create::prepare");
select_create_prepare_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,

View File

@@ -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);