[MDEV-3680] LP:1006164 - Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows Created: 2012-05-29 Updated: 2015-02-02 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergei Petrunia | Assignee: | Sergei Petrunia |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
Based on customer case, csc#250: CREATE TABLE tbl ( DELETE tbl FROM tbl WHERE key1=const1 AND key2=const2; ^^ this will delete fewer rows than it actually matches.
|
| Comments |
| Comment by Sergei Petrunia [ 2012-05-29 ] |
|
Re: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows |
| Comment by Sergei Petrunia [ 2012-05-29 ] |
|
Re: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows
int QUICK_RANGE_SELECT::init_ror_merged_scan(bool reuse_handler) .... I don't understand the reasoning behind it, but its result is that we will fail to call head->mark_columns_used_by_index(index). This didn't cause the problem up to version 5.2, because opt_range also used old "useless-stub" MRR, which had handler::read_multi_range_first(), which had a call to |
| Comment by Sergei Petrunia [ 2012-05-30 ] |
|
Re: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows At line 287: query 'DELETE t1 FROM t1,t2 WHERE t1.c1=0 AND t1.c2=0' failed: 126: Incorrect key file for table './test/t1.MYI'; try to repair it will need to investigate. |
| Comment by Sergei Petrunia [ 2012-06-04 ] |
|
Re: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows |
| Comment by Elena Stepanova [ 2012-06-24 ] |
|
Re: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows |
| Comment by Rasmus Johansson (Inactive) [ 2012-06-24 ] |
|
Launchpad bug id: 1006164 |