Merge mysql.com:/home/hf/work/25492/my41-25492
into mysql.com:/home/hf/work/mrg/mysql-4.1-opt
This commit is contained in:
commit
6ef0fee8e6
@ -69,10 +69,14 @@ void embedded_get_error(MYSQL *mysql)
|
|||||||
|
|
||||||
static void emb_free_rows(THD *thd)
|
static void emb_free_rows(THD *thd)
|
||||||
{
|
{
|
||||||
|
if (!thd->data)
|
||||||
|
return;
|
||||||
|
|
||||||
if (thd->current_stmt)
|
if (thd->current_stmt)
|
||||||
free_root(&thd->data->alloc,MYF(0));
|
free_root(&thd->data->alloc,MYF(0));
|
||||||
else
|
else
|
||||||
free_rows(thd->data);
|
free_rows(thd->data);
|
||||||
|
thd->data= NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -86,11 +90,8 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
|
|||||||
THD *thd=(THD *) mysql->thd;
|
THD *thd=(THD *) mysql->thd;
|
||||||
NET *net= &mysql->net;
|
NET *net= &mysql->net;
|
||||||
|
|
||||||
if (thd->data)
|
emb_free_rows(thd);
|
||||||
{
|
|
||||||
emb_free_rows(thd);
|
|
||||||
thd->data= 0;
|
|
||||||
}
|
|
||||||
/* Check that we are calling the client functions in right order */
|
/* Check that we are calling the client functions in right order */
|
||||||
if (mysql->status != MYSQL_STATUS_READY)
|
if (mysql->status != MYSQL_STATUS_READY)
|
||||||
{
|
{
|
||||||
@ -143,13 +144,7 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
|
|||||||
|
|
||||||
static void emb_flush_use_result(MYSQL *mysql)
|
static void emb_flush_use_result(MYSQL *mysql)
|
||||||
{
|
{
|
||||||
MYSQL_DATA *data= ((THD*)(mysql->thd))->data;
|
emb_free_rows((THD*) (mysql->thd));
|
||||||
|
|
||||||
if (data)
|
|
||||||
{
|
|
||||||
free_rows(data);
|
|
||||||
((THD*)(mysql->thd))->data= NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static MYSQL_DATA *
|
static MYSQL_DATA *
|
||||||
@ -304,8 +299,7 @@ int emb_unbuffered_fetch(MYSQL *mysql, char **row)
|
|||||||
static void emb_free_embedded_thd(MYSQL *mysql)
|
static void emb_free_embedded_thd(MYSQL *mysql)
|
||||||
{
|
{
|
||||||
THD *thd= (THD*)mysql->thd;
|
THD *thd= (THD*)mysql->thd;
|
||||||
if (thd->data)
|
emb_free_rows(thd);
|
||||||
emb_free_rows(thd);
|
|
||||||
thread_count--;
|
thread_count--;
|
||||||
delete thd;
|
delete thd;
|
||||||
mysql->thd=0;
|
mysql->thd=0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user