discover of table non-existance on drop
This commit is contained in:
parent
e06cb31719
commit
474f45b3dc
@ -76,9 +76,19 @@ t1 CREATE TABLE `t1` (
|
||||
# discover on drop
|
||||
#
|
||||
flush tables;
|
||||
drop table t0, t1;
|
||||
drop table t1;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t0
|
||||
#
|
||||
# discover of table non-existance on drop
|
||||
#
|
||||
select * from t0;
|
||||
a
|
||||
flush tables;
|
||||
select * from t1;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
drop table t0;
|
||||
#
|
||||
# Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
|
||||
#
|
||||
|
@ -62,9 +62,19 @@ show create table t1;
|
||||
--echo #
|
||||
remove_file $mysqld_datadir/test/t1.frm;
|
||||
flush tables;
|
||||
drop table t0, t1;
|
||||
drop table t1;
|
||||
show tables;
|
||||
|
||||
--echo #
|
||||
--echo # discover of table non-existance on drop
|
||||
--echo #
|
||||
select * from t0;
|
||||
remove_file $mysqld_datadir/test/t0.ARZ;
|
||||
flush tables;
|
||||
--error ER_NO_SUCH_TABLE
|
||||
select * from t1;
|
||||
drop table t0;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
|
||||
--echo #
|
||||
|
@ -3448,9 +3448,14 @@ int handler::delete_table(const char *name)
|
||||
{
|
||||
int saved_error= 0;
|
||||
int error= 0;
|
||||
int enoent_or_zero= ENOENT; // Error if no file was deleted
|
||||
int enoent_or_zero;
|
||||
char buff[FN_REFLEN];
|
||||
|
||||
if (ht->discover_table)
|
||||
enoent_or_zero= 0; // the table may not exist in the engine, it's ok
|
||||
else
|
||||
enoent_or_zero= ENOENT; // the first file of bas_ext() *must* exist
|
||||
|
||||
for (const char **ext=bas_ext(); *ext ; ext++)
|
||||
{
|
||||
fn_format(buff, name, "", *ext, MY_UNPACK_FILENAME|MY_APPEND_EXT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user