1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

MDEV-21610 Different query results from 10.4.11 to 10.4.12

This patch fixes the following defects/bugs.
1. If BKA[H] algorithm was used to join a table for which the optimizer
had decided to employ a rowid filter the filter actually was not built.
2. The patch for the bug MDEV-21356 that added the code canceling pushing
rowid filter into an engine for the table joined with employment of
BKA[H] and MRR was not quite correct for Innodb engine because this
cancellation was done after InnoDB code had already bound the the pushed
filter to internal InnoDB structures.
This commit is contained in:
Igor Babaev
2020-02-18 22:49:42 -08:00
parent df07e00a81
commit 2fb881df1d
6 changed files with 516 additions and 21 deletions

View File

@ -2248,6 +2248,8 @@ enum_nested_loop_state JOIN_CACHE::join_matching_records(bool skip_last)
if ((rc= join_tab_execution_startup(join_tab)) < 0)
goto finish2;
join_tab->build_range_rowid_filter_if_needed();
/* Prepare to retrieve all records of the joined table */
if (unlikely((error= join_tab_scan->open())))
{