after merge fix

parent 42e49682
...@@ -6076,7 +6076,7 @@ my_bool mysql_rm_tmp_tables(void) ...@@ -6076,7 +6076,7 @@ my_bool mysql_rm_tmp_tables(void)
char filePath[FN_REFLEN], *tmpdir, filePathCopy[FN_REFLEN]; char filePath[FN_REFLEN], *tmpdir, filePathCopy[FN_REFLEN];
MY_DIR *dirp; MY_DIR *dirp;
FILEINFO *file; FILEINFO *file;
TABLE tmp_table; TABLE_SHARE share;
THD *thd; THD *thd;
DBUG_ENTER("mysql_rm_tmp_tables"); DBUG_ENTER("mysql_rm_tmp_tables");
...@@ -6108,20 +6108,23 @@ my_bool mysql_rm_tmp_tables(void) ...@@ -6108,20 +6108,23 @@ my_bool mysql_rm_tmp_tables(void)
char *ext= fn_ext(file->name); char *ext= fn_ext(file->name);
uint ext_len= strlen(ext); uint ext_len= strlen(ext);
uint filePath_len= my_snprintf(filePath, sizeof(filePath), uint filePath_len= my_snprintf(filePath, sizeof(filePath),
"%s%c%s", FN_LIBCHAR,tmpdir, "%s%c%s", tmpdir, FN_LIBCHAR,
file->name); file->name);
if (!bcmp(reg_ext, ext, ext_len)) if (!bcmp(reg_ext, ext, ext_len))
{ {
TABLE tmp_table; handler *handler_file= 0;
if (!openfrm(thd, filePath, "tmp_table", (uint) 0,
READ_KEYINFO | COMPUTE_TYPES | EXTRA_RECORD,
0, &tmp_table))
{
/* We should cut file extention before deleting of table */ /* We should cut file extention before deleting of table */
memcpy(filePathCopy, filePath, filePath_len - ext_len); memcpy(filePathCopy, filePath, filePath_len - ext_len);
filePathCopy[filePath_len - ext_len]= 0; filePathCopy[filePath_len - ext_len]= 0;
tmp_table.file->delete_table(filePathCopy); init_tmp_table_share(&share, "", 0, "", filePathCopy);
closefrm(&tmp_table); if (!open_table_def(thd, &share, 0) &&
((handler_file= get_new_handler(&share, thd->mem_root,
share.db_type))))
{
handler_file->delete_table(filePathCopy);
delete handler_file;
}
free_table_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