1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

BUG#49902 - SELECT returns incorrect results

Queries optimized with GROUP_MIN_MAX didn't cleanup KEYREAD
optimization properly. As a result subsequent queries may
return incomplete rows (fields are initialized to default
values).
This commit is contained in:
Sergey Vojtovich
2010-02-09 12:53:13 +04:00
parent 73cfad9ff4
commit 06fb46a029
8 changed files with 62 additions and 87 deletions

View File

@ -4374,7 +4374,7 @@ void st_table::mark_columns_used_by_index(uint index)
MY_BITMAP *bitmap= &tmp_set;
DBUG_ENTER("st_table::mark_columns_used_by_index");
(void) file->extra(HA_EXTRA_KEYREAD);
set_keyread(TRUE);
bitmap_clear_all(bitmap);
mark_columns_used_by_index_no_reset(index, bitmap);
column_bitmaps_set(bitmap, bitmap);
@ -4397,8 +4397,7 @@ void st_table::restore_column_maps_after_mark_index()
{
DBUG_ENTER("st_table::restore_column_maps_after_mark_index");
key_read= 0;
(void) file->extra(HA_EXTRA_NO_KEYREAD);
set_keyread(FALSE);
default_column_bitmaps();
file->column_bitmaps_signal();
DBUG_VOID_RETURN;