Commit f4bb80b6 authored by tomas@poseidon.ndb.mysql.com's avatar tomas@poseidon.ndb.mysql.com

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
parents 89f3b9b2 fb52fe5c
......@@ -273,6 +273,7 @@ typedef struct
int alloced_len;
int int_dirty; /* do not update string if int is updated until first read */
int alloced;
char *env_s;
} VAR;
#if defined(__NETWARE__) || defined(__WIN__)
......@@ -885,16 +886,18 @@ int var_set(const char *var_name, const char *var_name_end,
if (env_var)
{
char buf[1024];
memcpy(buf, v->name, v->name_len);
buf[v->name_len]= 0;
char buf[1024], *old_env_s= v->env_s;
if (v->int_dirty)
{
sprintf(v->str_val, "%d", v->int_val);
v->int_dirty= 0;
v->str_val_len= strlen(v->str_val);
}
setenv(buf, v->str_val, 1);
strxmov(buf, v->name, "=", v->str_val, NullS);
if (!(v->env_s= my_strdup(buf, MYF(MY_WME))))
die("Out of memory");
putenv(v->env_s);
my_free((gptr)old_env_s, MYF(MY_ALLOW_ZERO_PTR));
}
DBUG_RETURN(result);
}
......@@ -4335,6 +4338,7 @@ static VAR *var_init(VAR *v, const char *name, int name_len, const char *val,
tmp_var->alloced_len = val_alloc_len;
tmp_var->int_val = (val) ? atoi(val) : 0;
tmp_var->int_dirty = 0;
tmp_var->env_s = 0;
return tmp_var;
}
......
......@@ -250,6 +250,7 @@ if [ -n "$MTR_BUILD_THREAD" ] ; then
echo "Using MYSQL_MANAGER_PORT = $MYSQL_MANAGER_PORT"
echo "Using SLAVE_MYPORT = $SLAVE_MYPORT"
echo "Using NDBCLUSTER_PORT = $NDBCLUSTER_PORT"
echo "Using NDBCLUSTER_PORT_SLAVE = $NDBCLUSTER_PORT_SLAVE"
fi
NO_SLAVE=0
......
......@@ -21,8 +21,6 @@ type_time : Bug#15805
ps_7ndb : dbug assert in RBR mode when executing test suite
rpl_ddl : Bug#15963 SBR does not show "Definer" correctly
events : Affects flush test case. A table lock not released somewhere
ndb_autodiscover : TBF with CR
ndb_autodiscover2 : TBF with CR
ndb_binlog_basic : Results are not deterministic, Tomas will fix
rpl_ndb_basic : Bug#16228
rpl_sp : Bug #16456
......@@ -6441,7 +6441,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
DBUG_PRINT("error", ("get_share: %s does not exist", key));
if (!have_lock)
pthread_mutex_unlock(&ndbcluster_mutex);
return 0;
DBUG_RETURN(0);
}
if ((share= (NDB_SHARE*) my_malloc(sizeof(*share),
MYF(MY_WME | MY_ZEROFILL))))
......@@ -6463,7 +6463,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
*root_ptr= old_root;
if (!have_lock)
pthread_mutex_unlock(&ndbcluster_mutex);
return 0;
DBUG_RETURN(0);
}
thr_lock_init(&share->lock);
pthread_mutex_init(&share->mutex, MY_MUTEX_INIT_FAST);
......@@ -6484,7 +6484,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
if (!have_lock)
pthread_mutex_unlock(&ndbcluster_mutex);
my_error(ER_OUTOFMEMORY, MYF(0), sizeof(*share));
return 0;
DBUG_RETURN(0);
}
}
share->use_count++;
......@@ -6500,7 +6500,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
share->use_count, share->commit_count));
if (!have_lock)
pthread_mutex_unlock(&ndbcluster_mutex);
return share;
DBUG_RETURN(share);
}
void ndbcluster_real_free_share(NDB_SHARE **share)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment