Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jani/mysql-5.0merge_4_1
This commit is contained in:
commit
041669a4db
@ -284,6 +284,7 @@ class Item_func_connection_id :public Item_int_func
|
|||||||
longlong value;
|
longlong value;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
Item_func_connection_id() {}
|
||||||
const char *func_name() const { return "connection_id"; }
|
const char *func_name() const { return "connection_id"; }
|
||||||
void fix_length_and_dec();
|
void fix_length_and_dec();
|
||||||
bool fix_fields(THD *thd, Item **ref);
|
bool fix_fields(THD *thd, Item **ref);
|
||||||
|
@ -269,7 +269,6 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, TABLE *table)
|
|||||||
static int
|
static int
|
||||||
db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp)
|
db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp)
|
||||||
{
|
{
|
||||||
extern int MYSQLparse(void *thd);
|
|
||||||
TABLE *table;
|
TABLE *table;
|
||||||
const char *params, *returns, *body;
|
const char *params, *returns, *body;
|
||||||
int ret;
|
int ret;
|
||||||
@ -478,6 +477,7 @@ db_load_routine(THD *thd, int type, sp_name *name, sp_head **sphp,
|
|||||||
(*sphp)->optimize();
|
(*sphp)->optimize();
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
|
lex_end(thd->lex);
|
||||||
thd->spcont= old_spcont;
|
thd->spcont= old_spcont;
|
||||||
thd->variables.sql_mode= old_sql_mode;
|
thd->variables.sql_mode= old_sql_mode;
|
||||||
thd->variables.select_limit= old_select_limit;
|
thd->variables.select_limit= old_select_limit;
|
||||||
|
@ -671,6 +671,7 @@ sp_head::destroy()
|
|||||||
DBUG_ASSERT(m_lex.is_empty() || m_thd);
|
DBUG_ASSERT(m_lex.is_empty() || m_thd);
|
||||||
while ((lex= (LEX *)m_lex.pop()))
|
while ((lex= (LEX *)m_lex.pop()))
|
||||||
{
|
{
|
||||||
|
lex_end(m_thd->lex);
|
||||||
delete m_thd->lex;
|
delete m_thd->lex;
|
||||||
m_thd->lex= lex;
|
m_thd->lex= lex;
|
||||||
}
|
}
|
||||||
@ -1643,7 +1644,10 @@ sp_head::restore_lex(THD *thd)
|
|||||||
*/
|
*/
|
||||||
merge_table_list(thd, sublex->query_tables, sublex);
|
merge_table_list(thd, sublex->query_tables, sublex);
|
||||||
if (! sublex->sp_lex_in_use)
|
if (! sublex->sp_lex_in_use)
|
||||||
|
{
|
||||||
|
lex_end(sublex);
|
||||||
delete sublex;
|
delete sublex;
|
||||||
|
}
|
||||||
thd->lex= oldlex;
|
thd->lex= oldlex;
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -520,7 +520,10 @@ public:
|
|||||||
virtual ~sp_lex_keeper()
|
virtual ~sp_lex_keeper()
|
||||||
{
|
{
|
||||||
if (m_lex_resp)
|
if (m_lex_resp)
|
||||||
|
{
|
||||||
|
lex_end(m_lex);
|
||||||
delete m_lex;
|
delete m_lex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1195,6 +1195,7 @@ ok2:
|
|||||||
end:
|
end:
|
||||||
if (arena)
|
if (arena)
|
||||||
thd->restore_active_arena(arena, &backup);
|
thd->restore_active_arena(arena, &backup);
|
||||||
|
lex_end(thd->lex);
|
||||||
thd->lex= old_lex;
|
thd->lex= old_lex;
|
||||||
DBUG_RETURN(result);
|
DBUG_RETURN(result);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user