From: Date: September 2 2008 3:45pm Subject: bzr commit into mysql-6.0-falcon branch (svoj:2806) Bug#33575, Bug#37668 List-Archive: http://lists.mysql.com/commits/53071 X-Bug: 37668 Message-Id: <20080902134556.85AD941CED0@june.myoffice.izhnet.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7BIT #At file:///home/svoj/devel/mysql/BUG33575/mysql-6.0-falcon-team/ 2806 Sergey Vojtovich 2008-09-02 BUG#37668 - No error message if tables are created in Falcon tablespaces with special names Creating Falcon tablespace with 'FALCON_MASTER' name was silently accepted. As 'FALCON_MASTER' is the name of falcon internal tablespace it must be rejected. With this fix an error is returned if user attempts to create tablespace with 'FALCON_MASTER' name. added: mysql-test/suite/falcon/r/falcon_bug_37668.result mysql-test/suite/falcon/t/falcon_bug_37668.test modified: storage/falcon/StorageHandler.cpp per-file messages: mysql-test/suite/falcon/r/falcon_bug_37668.result A test case for BUG#37668. mysql-test/suite/falcon/t/falcon_bug_37668.test A test case for BUG#37668. storage/falcon/StorageHandler.cpp Refuse to create tablespaces with falcon internal tablespace names. === added file 'mysql-test/suite/falcon/r/falcon_bug_37668.result' --- a/mysql-test/suite/falcon/r/falcon_bug_37668.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/falcon/r/falcon_bug_37668.result 2008-09-02 13:45:47 +0000 @@ -0,0 +1,2 @@ +CREATE TABLESPACE FALCON_MASTER ADD DATAFILE 'test.fts' ENGINE=Falcon; +ERROR HY000: Tablespace 'FALCON_MASTER' already exists === added file 'mysql-test/suite/falcon/t/falcon_bug_37668.test' --- a/mysql-test/suite/falcon/t/falcon_bug_37668.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_37668.test 2008-09-02 13:45:47 +0000 @@ -0,0 +1,4 @@ +--source include/have_falcon.inc + +--error ER_TABLESPACE_EXIST +CREATE TABLESPACE FALCON_MASTER ADD DATAFILE 'test.fts' ENGINE=Falcon; === modified file 'storage/falcon/StorageHandler.cpp' --- a/storage/falcon/StorageHandler.cpp 2008-08-14 11:24:18 +0000 +++ b/storage/falcon/StorageHandler.cpp 2008-09-02 13:45:47 +0000 @@ -488,6 +488,13 @@ int StorageHandler::createTablespace(con if (!dictionaryConnection) return StorageErrorTablesSpaceOperationFailed; + if ( !strcasecmp(tableSpaceName, MASTER_NAME) + || !strcasecmp(tableSpaceName, DEFAULT_TABLESPACE) + || !strcasecmp(tableSpaceName, TEMPORARY_TABLESPACE)) + { + return StorageErrorTableSpaceExist; + } + JString tableSpace = JString::upcase(tableSpaceName); TableSpaceManager *tableSpaceManager =