Fix for memory leak which was introduced by patch improving locking in SP.

Made mysql_make_view() to call destructor for st_lex_local objects before
throwing them away (this happens in case of error).
This commit is contained in:
dlenev@brandersnatch.localdomain 2005-03-04 20:54:24 +03:00
parent 5b16dbf960
commit c24820834a
2 changed files with 3 additions and 2 deletions

View File

@ -817,7 +817,7 @@ typedef struct st_lex
hash_init(&spprocs, system_charset_info, 0, 0, 0, sp_lex_sp_key, 0, 0); hash_init(&spprocs, system_charset_info, 0, 0, 0, sp_lex_sp_key, 0, 0);
} }
~st_lex() virtual ~st_lex()
{ {
hash_free(&spfuns); hash_free(&spfuns);
hash_free(&spprocs); hash_free(&spprocs);

View File

@ -854,6 +854,7 @@ ok2:
err: err:
if (arena) if (arena)
thd->restore_backup_item_arena(arena, &backup); thd->restore_backup_item_arena(arena, &backup);
delete table->view;
table->view= 0; // now it is not VIEW placeholder table->view= 0; // now it is not VIEW placeholder
thd->lex= old_lex; thd->lex= old_lex;
DBUG_RETURN(1); DBUG_RETURN(1);