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
This commit is contained in:
commit
83f16e31da
@ -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)
|
||||
|
||||
|
@ -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)))
|
||||
goto err;
|
||||
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);
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -59,6 +59,11 @@ public:
|
||||
*/
|
||||
static injector *instance();
|
||||
|
||||
/*
|
||||
Delete the singleton instance (if allocated). Used during server shutdown.
|
||||
*/
|
||||
static void free_instance();
|
||||
|
||||
/*
|
||||
A transaction where rows can be added.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user