mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fix for dropping a table with frm file consisting of "junk"
This commit is contained in:
@ -512,6 +512,13 @@ t1 CREATE TABLE `t1` (
|
|||||||
KEY `c2` USING BTREE (`c2`)
|
KEY `c2` USING BTREE (`c2`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
flush tables;
|
||||||
|
SHOW TABLE STATUS like 't1';
|
||||||
|
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||||
|
t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
|
||||||
|
show create table t1;
|
||||||
|
ERROR HY000: Incorrect information in file: './test/t1.frm'
|
||||||
|
drop table t1;
|
||||||
CREATE TABLE txt1(a int);
|
CREATE TABLE txt1(a int);
|
||||||
CREATE TABLE tyt2(a int);
|
CREATE TABLE tyt2(a int);
|
||||||
CREATE TABLE urkunde(a int);
|
CREATE TABLE urkunde(a int);
|
||||||
@ -557,10 +564,3 @@ DROP TABLE tyt2;
|
|||||||
DROP TABLE urkunde;
|
DROP TABLE urkunde;
|
||||||
SHOW TABLES FROM non_existing_database;
|
SHOW TABLES FROM non_existing_database;
|
||||||
ERROR 42000: Unknown database 'non_existing_database'
|
ERROR 42000: Unknown database 'non_existing_database'
|
||||||
flush tables;
|
|
||||||
SHOW TABLE STATUS like 't1';
|
|
||||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
|
||||||
t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
|
|
||||||
show create table t1;
|
|
||||||
ERROR HY000: Incorrect information in file: './test/t1.frm'
|
|
||||||
drop table t1;
|
|
||||||
|
@ -273,7 +273,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
|
|||||||
*(end=fn_ext(path))=0; // Remove extension for delete
|
*(end=fn_ext(path))=0; // Remove extension for delete
|
||||||
error= ha_delete_table(thd, table_type, path, table->table_name,
|
error= ha_delete_table(thd, table_type, path, table->table_name,
|
||||||
!dont_log_query);
|
!dont_log_query);
|
||||||
if ((error == ENOENT || error == HA_ERR_NO_SUCH_TABLE) && if_exists)
|
if ((error == ENOENT || error == HA_ERR_NO_SUCH_TABLE) &&
|
||||||
|
(if_exists || table_type == DB_TYPE_UNKNOWN))
|
||||||
error= 0;
|
error= 0;
|
||||||
if (error == HA_ERR_ROW_IS_REFERENCED)
|
if (error == HA_ERR_ROW_IS_REFERENCED)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user