Bug#14400 - Query joins wrong rows from table which is subject of

            "concurrent insert"
After merge fix.
parent 45ceab9e
...@@ -103,7 +103,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, ...@@ -103,7 +103,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
{ {
do do
{ {
uint not_used; uint not_used[2];
/* /*
Skip rows that are inserted by other threads since we got a lock Skip rows that are inserted by other threads since we got a lock
Note that this can only happen if we are not searching after an Note that this can only happen if we are not searching after an
...@@ -122,7 +122,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, ...@@ -122,7 +122,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
*/ */
if (search_flag == HA_READ_KEY_EXACT && if (search_flag == HA_READ_KEY_EXACT &&
ha_key_cmp(keyinfo->seg, key_buff, info->lastkey, use_key_length, ha_key_cmp(keyinfo->seg, key_buff, info->lastkey, use_key_length,
SEARCH_FIND, &not_used)) SEARCH_FIND, not_used))
{ {
my_errno= HA_ERR_KEY_NOT_FOUND; my_errno= HA_ERR_KEY_NOT_FOUND;
info->lastpos= HA_OFFSET_ERROR; info->lastpos= HA_OFFSET_ERROR;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment