1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fixed LP bug #674423.

The patch that introduced the new enumeration type Match_flag
for the values of match flags in the records put into join buffers
missed the necessary modifications in JOIN_CACHE::set_match_flag_if_none.
This could cause wrong results for outer joins with on expressions
only over outer tables.
This commit is contained in:
Igor Babaev
2010-11-13 07:47:43 -08:00
parent 9259ef4c7c
commit 9441a9cc28
3 changed files with 58 additions and 2 deletions

View File

@@ -2219,9 +2219,9 @@ bool JOIN_CACHE::set_match_flag_if_none(JOIN_TAB *first_inner,
DBUG_ASSERT(cache);
rec_ptr= cache->get_rec_ref(rec_ptr);
}
if (rec_ptr[0] == 0)
if ((Match_flag) rec_ptr[0] != MATCH_FOUND)
{
rec_ptr[0]= 1;
rec_ptr[0]= MATCH_FOUND;
first_inner->found= 1;
return TRUE;
}