| Bug #75663 | \"filtered\" field in EXPLAIN JSON output has too high precision | ||
|---|---|---|---|
| Submitted: | 28 Jan 2015 10:12 | Modified: | 14 Feb 2015 16:54 |
| Reporter: | Roy Lyseng | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Optimizer | Severity: | S3 (Non-critical) |
| Version: | OS: | Any | |
| Assigned to: | CPU Architecture: | Any | |
[14 Feb 2015 16:54]
Paul DuBois
Noted in 5.7.6 changelog. For JSON-format EXPLAIN output, the filtered value was displayed to an unwarranted number of digits precsion. This value is now limited to two digits following the decimal point.

Description: CURRENT_TEST: main.explain_for_connection_rqg_json --- /export/home/pb2/test/sb_2-14216798-1422357982.84/usr/share/mysql-test/r/explain_for_connection_rqg_json.result 2015-01-27 14:29:12.271435317 +0300 We have seen test result differences like this in recent test runs on 32-bit platforms +++ /dev/shm/mtr-23032/var-debug/8/log/explain_for_connection_rqg_json.reject 2015-01-27 15:20:21.252283801 +0300 @@ -282,7 +282,7 @@ + "query_cost": "38.80" }, @@ -22,2 +22,3 @@ - "filtered": 6.8336, + "filtered": 6.8337, + "using_where": true, "cost_info": { @@ -34,3 +35,2 @@ The problem here seems to be 32-bit vs. 64-bit floating point precision, but anyway this field has to big precision. Limiting precision to two digits after decimal point will eliminate such errors. How to repeat: Run main.explain_for_connection_rqg_json on 32-bit platform. Suggested fix: Limit precision to two digits after decimal point (like for query_cost).