Description:
Attempted to create in MySQL Administrator a table with features equivalent to the following:
CREATE TABLE `osc`.`commentary_keywords` (
`commentaryid` VARCHAR(30) NOT NULL,
`keywords` TEXT NOT NULL,
`cannonical_keywords` TEXT NOT NULL,
PRIMARY KEY(`commentaryid`(30)),
FULLTEXT `Index_cannonical_keywords` (`cannonical_keywords`(512)),
CONSTRAINT `FK_comm_keywords_commentary` FOREIGN KEY `FK_comm_keywords_commentary` (`commentaryid`)
REFERENCES `commentary` (`commentaryid`)
ON DELETE RESTRICT
ON UPDATE RESTRICT
) type=MyISAM;
Presumeably, MySQL ignores the foreign key definition since it is a MyISAM file. That's fine for now.
However, MySQL Administrator appears always to try to insert "USING RTREE" after the index name when creating the table and also when altering the table by creating a new FULLTEXT index. It should just leave it blank (i.e., not insert "USING RTREE").
For example, adding a new FULLTEXT index resulted in:
ALTER TABLE `osc`.`commentary_keywords` ADD FULLTEXT `Index_bad` USING RTREE(`keywords`);
which results in error 1210.
There seems no way to persuade it not to insert "USING RTREE".
How to repeat:
1.) Run MySQL Administrator
2.) Select "Catalogs"
3.) Select the desired Schema.
4.) Click "Create Table" button.
5.) Enter table name "junk" (for example).
6.) Add column "keywords" of type "TEXT".
7.) Click the "Indices" tab.
8.) Click the "+" sign to add a new index.
9.) Accept the default index name by clicking "OK" button.
10.) Select index kind "FULLTEXT".
11.) Select any index type, even "DEFAULT", but select something.
12.) Drag column "keywords" into the Index Columns edit control.
13.) Set index column length to 512.
14.) Click "Apply Changes" button.
15.) Click "Execute" button after observing that the SQL command text contains "USING RTREE".
16.) Observe the you get error 1210.
Step 11 above appears to be essential in order to reproduce this fault. If one leaves the index type set to DEFAULT without touching it, at least when creating a table, then it works OK.