Bug #29511 Create new tablespace with existing datafile name destroys existing tablespace
Submitted: 3 Jul 2007 13:18 Modified: 20 Jul 2007 12:14
Reporter: Robin Schumacher Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:6.0 OS:Windows
Assigned to: Jim Starkey CPU Architecture:Any

[3 Jul 2007 13:18] Robin Schumacher
Description:
Create tablespace with unique name but using same datafile as existing tablespace 
results in re-initialization of tablespace and loss of existing objects.

How to repeat:
mysql> create tablespace rmstest4             <---- Unique tablespace name
    -> add datafile 'c:/dev/rmstest.fts'      <----- existing datafile name
    -> engine=falcon;
Query OK, 0 rows affected (0.19 sec)

Tablespace now is re-initialized and empty

Suggested fix:
Throw error when datafile exists and/or add option (like FORCE) that overwrites an existing datafile.
[5 Jul 2007 21:58] Jim Starkey
Falcon now throws an error is the tablespace file already exists.  Unfortunately, there is no way to return error text, so all tablespace errors return the same meaningless, undocumented code.

It would be nice to have an option for force tablespace file creation, but we have no control over the create tablespace syntax, so I'm afraid there is nothing we can do about it.
[5 Jul 2007 23:34] Hakan Küçükyılmaz
Verified Fix. Test case is missing.

[01:33] root@(none)>create tablespace rmstest4 add datafile '/data/mysql-sap/rmstest.fts' engine falco
n;
Query OK, 0 rows affected (0.40 sec)

[01:33] root@(none)>create tablespace rmstest5 add datafile '/data/mysql-sap/rmstest.fts' engine falco
n;
ERROR 65433 (HY000): Unknown error -103
6.0.1-alpha-valgrind-max-debug
[6 Jul 2007 15:20] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/30445

ChangeSet@1.2592, 2007-07-06 17:20:22+02:00, hakank@lu0011.wdf.sap.corp +2 -0
  Added test case for fixed Bug#29511.
[6 Jul 2007 15:37] Hakan Küçükyılmaz
falcon_bug_29511.test passes now.
[20 Jul 2007 12:14] MC Brown
A note has been added to the 6.0.1 changelog: 

Creating a tablespace with a unique name but using the same
datafile as an existing tablespace results in the re-initialization of the
tablespace and the loss of the data contained in it. Falcon will now report an
error if you the datafile already exists.