Bug #58756 | Crash in heap_rrnd on query with HAVING ... IN (subquery) + LIMIT | ||
---|---|---|---|
Submitted: | 6 Dec 2010 14:07 | Modified: | 13 Jan 2011 9:43 |
Reporter: | John Embretsen | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S1 (Critical) |
Version: | bzr_WL1393 | OS: | Any |
Assigned to: | Tor Didriksen | CPU Architecture: | Any |
Tags: | wl1393 |
[6 Dec 2010 14:07]
John Embretsen
[7 Dec 2010 12:30]
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/126203 3257 Tor Didriksen 2010-12-07 Bug #58756 Crash in heap_rrnd on query with HAVING ... IN (subquery) + LIMIT Bug #58761 Crash in Field::is_null in field.h on subquery in WHERE clause @ mysql-test/include/order_by.inc New test case @ mysql-test/r/bug58756.result New test case. @ mysql-test/r/order_by_icp_mrr.result New test case. @ mysql-test/r/order_by_none.result New test case. @ mysql-test/t/bug58756.test New test case. @ sql/filesort.cc In save_index: allocate and copy record pointers for 'count' keys. @ sql/sql_select.cc table->sort.found_records is used in init_read_record(), don't set it to found_rows. Instead: use tab->records to set thd->limit_found_rows, since filesort() now always return number of found_rows.
[9 Dec 2010 11:55]
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/126409 3257 Tor Didriksen 2010-12-09 Bug #58756 Crash in heap_rrnd on query with HAVING ... IN (subquery) + LIMIT allocated too few record pointers in save_index() Bug #58761 Crash in Field::is_null in field.h on subquery in WHERE clause table->sort.found_records was wrong @ mysql-test/include/order_by.inc New test case @ mysql-test/r/order_by_icp_mrr.result New test case. @ mysql-test/r/order_by_none.result New test case. @ mysql-test/r/subselect_innodb.result New test case. @ mysql-test/t/subselect_innodb.test New test case. @ sql/filesort.cc In save_index: allocate and copy pointers for all records returned by find_all_keys() @ sql/sql_select.cc table->sort.found_records is used in init_read_record(), don't set it to found_rows. Instead: Always use tab->records to set thd->limit_found_rows, since filesort() now always returns number of found_rows.