diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-04-18 17:44:30 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-04-30 14:58:11 +0200 |
commit | d17093b2edfbd1422f224c553eb73c9263eeeb1a (patch) | |
tree | 8ee98abc364e490152f01d0185cf4eb3e1047a34 /sql/handler.h | |
parent | 54e24fcbd537827e32ec029ab6b8af640fd08819 (diff) | |
download | mariadb-git-d17093b2edfbd1422f224c553eb73c9263eeeb1a.tar.gz |
MDEV-12293 Assertion `table->no_keyread || !table->covering_keys.is_set(tab->index) || table->file->keyread == tab->index' failed
sometimes the optimizer starts a keyread on some index
and later (but before any actual index accesses) changes
it to a keyread on a different index
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sql/handler.h b/sql/handler.h index 830e45a139f..7750c8ad7fb 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -2858,10 +2858,9 @@ public: bool keyread_enabled() { return keyread < MAX_KEY; } int ha_start_keyread(uint idx) { - if (keyread_enabled()) - return 0; + int res= keyread_enabled() ? 0 : extra(HA_EXTRA_KEYREAD); keyread= idx; - return extra(HA_EXTRA_KEYREAD); + return res; } int ha_end_keyread() { |