diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index 7e2e0a56212..3e6dd896ed8 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -437,3 +437,11 @@ SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE); a testword'' DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(10000), FULLTEXT(a)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` varchar(10000) default NULL, + FULLTEXT KEY `a` (`a`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1; diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index ea92ec944ed..a90344784cd 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -357,4 +357,12 @@ SELECT a FROM t1 WHERE MATCH a AGAINST('testword' IN BOOLEAN MODE); SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE); DROP TABLE t1; +# +# BUG#13835: max key length is 1000 bytes when trying to create +# a fulltext index +# +CREATE TABLE t1 (a VARCHAR(10000), FULLTEXT(a)); +SHOW CREATE TABLE t1; +DROP TABLE t1; + # End of 4.1 tests diff --git a/sql/sql_table.cc b/sql/sql_table.cc index ba4a606537f..849619ae0f8 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1296,7 +1296,7 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, my_error(ER_WRONG_KEY_COLUMN, MYF(0), column->field_name); DBUG_RETURN(-1); } - if (length > file->max_key_part_length()) + if (length > file->max_key_part_length() && key->type != Key::FULLTEXT) { length=file->max_key_part_length(); if (key->type == Key::MULTIPLE)