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

Reply via email to