Commit 7f397ffd authored by unknown's avatar unknown
Browse files

BUG#13835: max key length is 1000 bytes when trying to create a fulltext index

Allow fulltext index on VARCHAR columns longer than max key length.


mysql-test/r/fulltext.result:
  A test case for BUG#13835 added.
mysql-test/t/fulltext.test:
  A test case for BUG#13835 added.
sql/sql_table.cc:
  Allow fulltext index on VARCHAR columns longer than max key length.
parent b5a72e4a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;
+8 −0
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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)