Bug #83110 | found_rows() returns 1 when no rows found | ||
---|---|---|---|
Submitted: | 23 Sep 2016 1:08 | Modified: | 16 Dec 2016 20:09 |
Reporter: | Yamada Isami | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S3 (Non-critical) |
Version: | 5.7.15 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | regression |
[23 Sep 2016 1:08]
Yamada Isami
[23 Sep 2016 7:59]
MySQL Verification Team
Hello Yamada, Thank you for the report and test case. Verified as described. Thanks, Umesh
[23 Sep 2016 8:00]
MySQL Verification Team
-- Looks like regression to me -- 4.1.25, 5.0.96, 5.1.77, 5.5.52, 5.6.33 mysql> mysql> SELECT SQL_CALC_FOUND_ROWS col_text FROM tbl AS tbl1 -> UNION ALL -> SELECT col_text FROM tbl AS tbl2 -> ORDER BY col_text -> LIMIT 0, 2; Empty set (0.00 sec) mysql> SELECT found_rows(); +--------------+ | found_rows() | +--------------+ | 0 | +--------------+ 1 row in set (0.00 sec) -- 5.7.15 mysql> mysql> SELECT SQL_CALC_FOUND_ROWS col_text FROM tbl AS tbl1 -> UNION ALL -> SELECT col_text FROM tbl AS tbl2 -> ORDER BY col_text -> LIMIT 0, 2; Empty set (0.02 sec) mysql> SELECT found_rows(); +--------------+ | found_rows() | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec)
[16 Dec 2016 20:09]
Paul DuBois
Posted by developer: Noted in 5.7.18, 8.0.1 changelogs. If InnoDB statistics were incorrect, FOUND_ROWS() could return 1 even when the previous SELECT returned no rows.
[22 Apr 2017 8:09]
MySQL Verification Team
Bug #86045 marked as duplicate of this one
[30 Nov 2017 3:57]
Rick James
Why is this "Closed" without any explanation of what the fix is nor any documentation change?