diff options
author | Sergey Vojtovich <svoj@sun.com> | 2010-02-09 12:53:13 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@sun.com> | 2010-02-09 12:53:13 +0400 |
commit | 06fb46a02939199e45eb4e064c394906e90cabfc (patch) | |
tree | 4399c5a586ac17afc75f2a3776d0bf12b75315fe /sql/sql_update.cc | |
parent | 73cfad9ff426212d4d88f4cd8d86c1a3d67c1790 (diff) | |
download | mariadb-git-06fb46a02939199e45eb4e064c394906e90cabfc.tar.gz |
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).
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 433e2619aca..32add8679ef 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -397,10 +397,7 @@ int mysql_update(THD *thd, matching rows before updating the table! */ if (used_index < MAX_KEY && old_covering_keys.is_set(used_index)) - { - table->key_read=1; table->mark_columns_used_by_index(used_index); - } else { table->use_all_columns(); @@ -844,11 +841,7 @@ int mysql_update(THD *thd, err: delete select; free_underlaid_joins(thd, select_lex); - if (table->key_read) - { - table->key_read=0; - table->file->extra(HA_EXTRA_NO_KEYREAD); - } + table->set_keyread(FALSE); thd->abort_on_warning= 0; DBUG_RETURN(1); } |