Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.4
-
None
-
None
Description
Discovery of table non-existance does not work for CREATE TABLE:
create table t1 (a int) engine=archive; |
select * from t1; |
flush tables;
|
remove_file $mysqld_datadir/test/t1.ARZ;
|
create table t1 (a int) engine=archive; |
This fails with very unexpected 1146: Table 'test.t1' doesn't exist
After implementing CREATE .. REPLACE and cleaning up the CREATE TABLE code so that we don't open the table anymore, the error for the above has changed to:
Table 't1' already exists.
This should be ok as the create can't go forward if the .frm already exists.
If the .frm is also deleted then the CREATE will succeed.
In case of discovery, it will happen on the next usage of the table.