1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-24767 Wrong result when forced BNLH is used for join supported

by compound index

This typo bug may lead to wrong result sets for equi-join queries where
the join operation is supported by a compound index such that the order of
its components differs from the order of the corresponding columns in
the table the index belongs to. The bug manifests itself only when usage
of the BNLH algorithm is forced.

The fix for the bug was provided by Chu Huaxing.
This commit is contained in:
Igor Babaev
2021-03-22 22:04:54 -07:00
parent 56274bd5e4
commit 8f7a6cde58
3 changed files with 55 additions and 1 deletions

View File

@ -1199,7 +1199,7 @@ bool JOIN_CACHE::check_emb_key_usage()
Item *item= ref->items[i]->real_item();
Field *fld= ((Item_field *) item)->field;
CACHE_FIELD *init_copy= field_descr+flag_fields+i;
for (j= i, copy= init_copy; i < local_key_arg_fields; i++, copy++)
for (j= i, copy= init_copy; j < local_key_arg_fields; j++, copy++)
{
if (fld->eq(copy->field))
{