diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2020-04-03 23:55:48 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2020-04-03 23:55:48 +0300 |
commit | aa7f2578fcf2ddceef89e9cac5c9a8eb98873540 (patch) | |
tree | f91ec7bc00011e3d18a609dbd0b3ce39aeff7db9 /sql/sql_update.cc | |
parent | 198af54bb9410b31a4ac1cf50c72a5c430bf54ad (diff) | |
download | mariadb-git-aa7f2578fcf2ddceef89e9cac5c9a8eb98873540.tar.gz |
MDEV-21471 ER_CRASHED_ON_USAGE upon UPDATE FOR PORTION on Aria table
Turn read cache off for periodic update.
Like 498a96a4 says:
Aria with row_format=fixed uses IO_CACHE of type READ_CACHE for
sequential read in update loop. When history row is inserted inside
this loop the cache misses it and fails with error.
This applicable to any additional row inserts on UPDATE. In this case
it was initiated by UPDATE FOR PORTION.
Related to MDEV-20441.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc index af09675d917..0d2860de19f 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -465,6 +465,7 @@ int mysql_update(THD *thd, my_error(ER_NOT_CONSTANT_EXPRESSION, MYF(0), "FOR PORTION OF"); DBUG_RETURN(true); } + table->no_cache= true; } old_covering_keys= table->covering_keys; // Keys used in WHERE |