Commit 474f45b3 authored by Sergei Golubchik's avatar Sergei Golubchik

discover of table non-existance on drop

parent e06cb317
......@@ -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);
......
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