Commit 357007b3 authored by unknown's avatar unknown
Browse files

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.
parent 5a07a098
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -5608,7 +5608,7 @@ 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),
  my_size_t bytes= my_snprintf(buf, sizeof(buf),
                               "table_id: %lu%s", m_table_id, flagstr);
  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)
{
    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)",
                              m_table_id, m_dbnam, m_tblnam);
    protocol->store(buf, bytes, &my_charset_bin);
+1 −0
Original line number Diff line number Diff line
@@ -1602,6 +1602,7 @@ class select_create: public select_insert {
    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);
+17 −14
Original line number Diff line number Diff line
@@ -2498,14 +2498,12 @@ bool select_insert::send_eof()
  CREATE TABLE (SELECT) ...
***************************************************************************/

int
select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
{
  DBUG_ENTER("select_create::prepare");

  class MY_HOOKS : public TABLEOP_HOOKS {
/* 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:
    MY_HOOKS(select_create *x) : ptr(x) { }
  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)
@@ -2516,7 +2514,12 @@ select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
  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;
  table= create_table_from_items(thd, create_info, create_table,
+2 −2
Original line number Diff line number Diff line
@@ -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);