memory leaks fixed

This commit is contained in:
bell@sanja.is.com.ua 2004-09-04 23:05:12 +03:00
parent 161662ba4c
commit bb62c80201
2 changed files with 7 additions and 7 deletions

View file

@ -220,10 +220,12 @@ static int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
table->next= thd->derived_tables;
thd->derived_tables= table;
}
}
else
free_tmp_table(thd, table);
exit:
delete derived_result;
lex->current_select= save_current_select;
}
delete derived_result;
lex->current_select= save_current_select;
DBUG_RETURN(res);
}

View file

@ -339,8 +339,6 @@ static File_option view_parameters[]=
FILE_OPTIONS_STRING}
};
static const uint required_view_parameters= 6;
static LEX_STRING view_file_type[]= {{(char*)"VIEW", 4}};
@ -604,8 +602,6 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table)
{
/* move SP to main LEX */
sp_merge_funs(old_lex, lex);
if (lex->spfuns.array.buffer)
hash_free(&lex->spfuns);
if (old_lex->proc_table == 0 &&
(old_lex->proc_table=
(TABLE_LIST*)thd->calloc(sizeof(TABLE_LIST))) != 0)
@ -619,6 +615,8 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table)
include_proc_table= 1;
}
}
if (lex->spfuns.array.buffer)
hash_free(&lex->spfuns);
old_next= table->next_global;
if ((table->next_global= lex->query_tables))