Bug #5828 fulltext.test failure when minimum Fulltext word length is set to 3
Submitted: 30 Sep 2004 16:14 Modified: 12 Oct 2004 13:55
Reporter: YongJoon Lee Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: MyISAM storage engine Severity:S1 (Critical)
Version:4.0.21 OS:Other (Irix, Solaris, OSX, Linux)
Assigned to: Matthew Lord CPU Architecture:Any

[30 Sep 2004 16:14] YongJoon Lee
The first fulltext test (fulltext.test) will fail on the first UPDATE command when mysqld is compiled 
with the HA_FT_WLEN constant set to 3 (4 is the default in fulltext.h).

The error is:

mysql/client/mysqltest: At line 12: query 'update t1 set a='some test foobar' where MATCH a,b 
AGAINST ('model') failed:
1034: Incorrect key file for table: 't1'. Try to repair it
(the last line(s) may be the ones that cause the die() in mysqltest)

The error is generated from the static routine:  d_search() in mi_delete.c, but it's unclear when 
the actual corruption happens. 

How to repeat:
1. Modify myisam/fulltext.line 25, was:

#define HA_FT_WLEN    4

change to:

#define HA_FT_WLEN    3

2. Build and run mysql-test/mysql-test-run.  The first fulltext test will fail.
[8 Oct 2004 4:12] Matthew Lord

Thank you for your bug report!

This should not happen if you modify the length at the top of myisam/ft_static.c.  Is this test still
failing for you after this?

Best Regards
[8 Oct 2004 4:30] Matthew Lord

Just to be clear, you should leave the define alone in fulltext.h and only change ft_static.c.

[8 Oct 2004 4:44] YongJoon Lee
Thanks, I did make the change in ft_static.c and it does resolve the issue.
[12 Oct 2004 13:55] Sergei Golubchik
And as a closing comment:

HA_FT_WLEN is length of the "weight" key segment that is sizeof(float).
So, it must be 4.