Commit ba1b502c authored by Sergei Golubchik's avatar Sergei Golubchik

discover of table non-existance on drop

parent 3749eec2
...@@ -76,9 +76,19 @@ t1 CREATE TABLE `t1` ( ...@@ -76,9 +76,19 @@ t1 CREATE TABLE `t1` (
# discover on drop # discover on drop
# #
flush tables; flush tables;
drop table t0, t1; drop table t1;
show tables; show tables;
Tables_in_test 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 # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
# #
......
...@@ -62,9 +62,19 @@ show create table t1; ...@@ -62,9 +62,19 @@ show create table t1;
--echo # --echo #
remove_file $mysqld_datadir/test/t1.frm; remove_file $mysqld_datadir/test/t1.frm;
flush tables; flush tables;
drop table t0, t1; drop table t1;
show tables; 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 #
--echo # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE --echo # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
--echo # --echo #
......
...@@ -3448,9 +3448,14 @@ int handler::delete_table(const char *name) ...@@ -3448,9 +3448,14 @@ int handler::delete_table(const char *name)
{ {
int saved_error= 0; int saved_error= 0;
int error= 0; int error= 0;
int enoent_or_zero= ENOENT; // Error if no file was deleted int enoent_or_zero;
char buff[FN_REFLEN]; 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++) for (const char **ext=bas_ext(); *ext ; ext++)
{ {
fn_format(buff, name, "", *ext, MY_UNPACK_FILENAME|MY_APPEND_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