| Bug #18071 | Result from MATCH() uses too many decimals | ||
|---|---|---|---|
| Submitted: | 8 Mar 2006 14:32 | Modified: | 10 Apr 2006 20:04 | 
| Reporter: | Magnus Blåudd | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) | 
| Version: | 5.0.20 | OS: | Windows (Windows, Linux) | 
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any | 
   [8 Mar 2006 22:22]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/3601
   [9 Mar 2006 12:07]
   Magnus Blåudd        
  Asked Wax to review.
   [10 Mar 2006 12:12]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/3698
   [22 Mar 2006 14:04]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/4019
   [10 Apr 2006 20:04]
   Paul DuBois        
  No changelog entry needed.

Description: fulltext [ fail ] Errors are (from C:/cygwin/home/mysqldev/pb/mysql-5.0/push-anozdrin@mysql.com-20060307221413.info/mysql-5.0.20-standard/mysql-test/var-n_stm-5/log/mysqltest-time) : mysqltest: Result content mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/fulltext.result 2006-03-07 22:22:29 +03:00 --- r/fulltext.reject 2006-03-07 23:07:04 +03:00 *************** *** 450,458 **** PREPARE stmt from "SELECT a, MATCH(a) AGAINST('test1 test') FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; EXECUTE stmt; a MATCH(a) AGAINST('test1 test') ! test1 0.68526661396027 EXECUTE stmt; a MATCH(a) AGAINST('test1 test') ! test1 0.68526661396027 DEALLOCATE PREPARE stmt; DROP TABLE t1; --- 450,458 ---- PREPARE stmt from "SELECT a, MATCH(a) AGAINST('test1 test') FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; EXECUTE stmt; a MATCH(a) AGAINST('test1 test') ! test1 0.68526663197496 EXECUTE stmt; a MATCH(a) AGAINST('test1 test') ! test1 0.68526663197496 DEALLOCATE PREPARE stmt; DROP TABLE t1; ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html to find the reason to this problem and how to report this. How to repeat: Run "./mysql-test-run.pl fulltext" on a windows machine. The value returned from MATCH is returned as a real with macimum number of decimals. But in the code only a float is used to return the match value from 'ft_boolean_find_relevance' and 'ft_nlq_find_relevance' Suggested fix: Limit the number of decimals used when returning the match value to FLT_DIG, which normally is "6".