Commit 83f16e31 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/usr/local/mysql/mysql-5.1-vg-apr2

into  mysql.com:/usr/local/mysql/tmp-5.1


server-tools/instance-manager/instance_options.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/rpl_injector.cc:
  Auto merged
sql/rpl_injector.h:
  Auto merged
parents 2deb5a61 46d19b74
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -72,7 +72,9 @@ uint dirname_part(my_string to, const char *name)

  SYNPOSIS
    convert_dirname()
    to				Store result here
    to				Store result here. Must be at least of size
    				min(FN_REFLEN, strlen(from) + 1) to make room
    				for adding FN_LIBCHAR at the end.
    from			Original filename. May be == to
    from_end			Pointer at end of filename (normally end \0)

+7 −2
Original line number Diff line number Diff line
@@ -420,8 +420,13 @@ int Instance_options::complete_initialization(const char *default_path)
  const char *tmp;
  char *end;

  if (!mysqld_path.str && !(mysqld_path.str= strdup_root(&alloc, default_path)))
  if (!mysqld_path.str)
  {
    // Need one extra byte, as convert_dirname() adds a slash at the end.
    if (!(mysqld_path.str= alloc_root(&alloc, strlen(default_path) + 2)))
      goto err;
    strcpy(mysqld_path.str, default_path);
  }

  // it's safe to cast this to char* since this is a buffer we are allocating
  end= convert_dirname((char*)mysqld_path.str, mysqld_path.str, NullS);
+3 −3
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ byte *thd_ndb_share_get_key(THD_NDB_SHARE *thd_ndb_share, uint *length,
                            my_bool not_used __attribute__((unused)))
{
  *length= sizeof(thd_ndb_share->key);
  return (byte*) thd_ndb_share->key;
  return (byte*) &thd_ndb_share->key;
}

Thd_ndb::Thd_ndb()
@@ -371,9 +371,9 @@ Thd_ndb::get_open_table(THD *thd, const void *key)
  DBUG_ENTER("Thd_ndb::get_open_table");
  HASH_SEARCH_STATE state;
  THD_NDB_SHARE *thd_ndb_share=
    (THD_NDB_SHARE*)hash_first(&open_tables, (byte *)key, sizeof(key), &state);
    (THD_NDB_SHARE*)hash_first(&open_tables, (byte *)&key, sizeof(key), &state);
  while (thd_ndb_share && thd_ndb_share->key != key)
    thd_ndb_share= (THD_NDB_SHARE*)hash_next(&open_tables, (byte *)key, sizeof(key), &state);
    thd_ndb_share= (THD_NDB_SHARE*)hash_next(&open_tables, (byte *)&key, sizeof(key), &state);
  if (thd_ndb_share == 0)
  {
    thd_ndb_share= (THD_NDB_SHARE *) alloc_root(&thd->transaction.mem_root,
+8 −1
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@

#include "ha_myisam.h"

#ifdef HAVE_ROW_BASED_REPLICATION
#include "rpl_injector.h"
#endif

#ifdef WITH_INNOBASE_STORAGE_ENGINE
#define OPT_INNODB_DEFAULT 1
#else
@@ -1185,6 +1189,9 @@ void clean_up(bool print_message)
    what they have that is dependent on the binlog
  */
  ha_binlog_end(current_thd);
#ifdef HAVE_ROW_BASED_REPLICATION
  injector::free_instance();
#endif
  mysql_bin_log.cleanup();

#ifdef HAVE_REPLICATION
@@ -1263,13 +1270,13 @@ void clean_up(bool print_message)
          MYF(MY_WME | MY_FAE | MY_ALLOW_ZERO_PTR));
  DBUG_PRINT("quit", ("Error messages freed"));
  /* Tell main we are ready */
  logger.cleanup_end();
  (void) pthread_mutex_lock(&LOCK_thread_count);
  DBUG_PRINT("quit", ("got thread count lock"));
  ready_to_exit=1;
  /* do the broadcast inside the lock to ensure that my_end() is not called */
  (void) pthread_cond_broadcast(&COND_thread_count);
  (void) pthread_mutex_unlock(&LOCK_thread_count);
  logger.cleanup_end();

  /*
    The following lines may never be executed as the main thread may have
+10 −0
Original line number Diff line number Diff line
@@ -155,6 +155,16 @@ injector *injector::instance()
  return s_injector;
}

void injector::free_instance()
{
  injector *inj = s_injector;

  if (inj != 0)
  {
    s_injector= 0;
    delete inj;
  }
}


injector::transaction injector::new_trans(THD *thd)
Loading