Hello Sergei,
Tuesday, July 23, 2002, 10:17:06 PM, you wrote:
SG> Hi!
SG> On Jul 23, Artem V. Ryabov wrote:
>> Hello mysql,
>>
>> see this 2 queries:
>> why they not equal?
>> why first skip many records?
>>
>> mysql> select left(ftText,20) from Txt_index where match(ftText)
>against('+(w�d200206*) +w�12p' in boolean mode);
>> 3 rows in set (0.36 sec)
>>
>> mysql> select left(ftText,20) from Txt_index where match(ftText)
>against('+w�d200206* +w�12p' in boolean mode);
>> 42 rows in set (8.00 sec)
>> mysql> show variables like 'version';
>> +---------------+-----------------+
>> | Variable_name | Value |
>> +---------------+-----------------+
>> | version | 4.0.2-alpha-log |
>> +---------------+-----------------+
>> 1 row in set (0.00 sec)
SG> Obviously, it's a bug.
yes. next query prove it:
mysql> select left(ftText,17),match(ftText) against('+(w�d200206*) +w�12p' in boolean
mode) as m from Txt_index where match(ftText) against('+w�d200206* +w�12p' in boolean
mode);
+-------------------+------+
| left(ftText,17) | m |
+-------------------+------+
| w�d20020601 w�12p | 1 |
| w�d20020601 w�nw | 1 |
| w�d20020604 w�12p | 1 |
| w�d20020604 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020609 w�12p | 1 |
| w�d20020611 w�12p | 1 |
| w�d20020611 w�12p | 1 |
| w�d20020611 w�12p | 1 |
| w�d20020611 w�12p | 1 |
| w�d20020611 w�12p | 1 |
| w�d20020614 w�12p | 1 |
| w�d20020614 w�12p | 1 |
| w�d20020619 w�12p | 1 |
| w�d20020619 w�12p | 1 |
| w�d20020619 w�12p | 1 |
| w�d20020619 w�12p | 1 |
| w�d20020619 w�12p | 1 |
| w�d20020625 w�12p | 1 |
| w�d20020625 w�12p | 1 |
| w�d20020625 w�12p | 1 |
| w�d20020625 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
| w�d20020627 w�12p | 1 |
+-------------------+------+
42 rows in set (3.46 sec)
mysql>
SG> Could you provide a test case ?
but how?
Table very big:
mysql> SHOW TABLE STATUS like 'Txt_index';
+-----------+--------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+----------------+-----------------------+
| Name | Type | Row_format | Rows | Avg_row_length | Data_length |
|Max_data_length | Index_length | Data_free | Auto_increment | Create_time |
|Update_time | Check_time | Create_options | Comment |
+-----------+--------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+----------------+-----------------------+
| Txt_index | MyISAM | Dynamic | 42744 | 6032 | 257856408 |
|4294967295 | 166645760 | 0 | 58071 | 2002-07-11 15:22:31 |
|2002-07-11 15:30:56 | 2002-07-11 15:42:25 | | �������������� ������ |
+-----------+--------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+----------------+-----------------------+
1 row in set (0.03 sec)
mysql> show create table Txt_index;
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table
|
| |
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Txt_index | CREATE TABLE `Txt_index` ( `ID` int(11) NOT NULL auto_increment,
|`ftText` mediumtext NOT NULL, PRIMARY KEY (`ID`), FULLTEXT KEY `ftText`
|(`ftText`)) TYPE=MyISAM COMMENT='�������������� ������' |
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)
mysql>
short table work without bug:
mysql> create table tt(primary key(ID),fulltext(t)) select ID,ftText as t from
Txt_index where match(ftText) against('+w�d200206* +w�12p' in boolean mode);
Query OK, 42 rows affected (5.38 sec)
Records: 42 Duplicates: 0 Warnings: 0
mysql> select count(*) from tt where match(t) against ('+(w�d200206*) +w�12p' in
boolean mode);
+----------+
| count(*) |
+----------+
| 42 |
+----------+
1 row in set (0.07 sec)
mysql>
SG> Regards,
SG> Sergei
--
Best regards,
Artem mailto:[EMAIL PROTECTED]
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php