handler.cc If CREATE TABLE fails for an InnoDB table, do not put the OS error number to the error message, because it is not the cause

This commit is contained in:
heikki@donna.mysql.fi 2001-09-10 17:36:42 +03:00
parent 2b1085e4ab
commit cb1d79f150

View File

@ -837,8 +837,15 @@ int ha_create_table(const char *name, HA_CREATE_INFO *create_info,
}
error=table.file->create(name,&table,create_info);
VOID(closefrm(&table));
if (error)
my_error(ER_CANT_CREATE_TABLE,MYF(ME_BELL+ME_WAITTANG),name,my_errno);
if (error) {
if (table.db_type == DB_TYPE_INNOBASE) {
/* Creation of InnoDB table cannot fail because of an OS error:
put error as the number */
my_error(ER_CANT_CREATE_TABLE,MYF(ME_BELL+ME_WAITTANG),name,error);
} else {
my_error(ER_CANT_CREATE_TABLE,MYF(ME_BELL+ME_WAITTANG),name,my_errno);
}
}
DBUG_RETURN(error != 0);
}