[MDEV-22399] Remove multiple calls to enable and disable Handler::keyread and perform it after the plan refinement phase is done Created: 2020-04-28 Updated: 2020-06-09 Resolved: 2020-06-09 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Optimizer |
| Affects Version/s: | None |
| Fix Version/s: | 10.5.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Varun Gupta (Inactive) | Assignee: | Varun Gupta (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Monty mentioned Find a solution for test_if_skip_sort_order() and key_reads. The problem is that we set key_read for indexes early and then test_if_skip_sort_order() have to delete old ones and in some cases add new ones. It would be better if the optimizer didn't enable key reads until after all indexes have been decided and can't be changed anymore. So the idea is to let all the plan refinements happen and all then enable the keyread for indexes. |
| Comments |
| Comment by Varun Gupta (Inactive) [ 2020-04-28 ] |
|
First attempt of the patch was https://github.com/MariaDB/server/commit/744a4fce6a10bf6f1f06190941bbd10d4f9149bc |
| Comment by Varun Gupta (Inactive) [ 2020-06-08 ] |
|
Patch after addressing review |
| Comment by Michael Widenius [ 2020-06-08 ] |
|
ok to push as long as all valgrind and MSAN builds are ok |