diff options
author | Mattias Jonsson <mattias.jonsson@oracle.com> | 2010-08-10 10:43:12 +0200 |
---|---|---|
committer | Mattias Jonsson <mattias.jonsson@oracle.com> | 2010-08-10 10:43:12 +0200 |
commit | b409fad8cc0812cc1da44bb6b893e95be46049ca (patch) | |
tree | b108b786a0fd8c8078ddc3d97b56510095765627 /sql/ha_partition.h | |
parent | d62bfebc7ede98df28ac75ec0d0880fd07f201db (diff) | |
download | mariadb-git-b409fad8cc0812cc1da44bb6b893e95be46049ca.tar.gz |
Bug#55458: Partitioned MyISAM table gets crashed by multi-table update
Problem was that the handler call ::extra(HA_EXTRA_CACHE) was cached
but the ::extra(HA_EXTRA_PREPARE_FOR_UPDATE) was not.
Solution was to also cache the other call and forward it when moving
to a new partition to scan.
mysql-test/r/partition.result:
test result
mysql-test/t/partition.test:
New test from bug report.
sql/ha_partition.cc:
cache the HA_EXTRA_PREPARE_FOR_UPDATE just like HA_EXTRA_CACHE.
sql/ha_partition.h:
Added cache flag for HA_EXTRA_PREPARE_FOR_UPDATE
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r-- | sql/ha_partition.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h index e3dc7d17c6d..013341e4df3 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -154,6 +154,8 @@ private: */ bool m_extra_cache; uint m_extra_cache_size; + /* The same goes for HA_EXTRA_PREPARE_FOR_UPDATE */ + bool m_extra_prepare_for_update; void init_handler_variables(); /* |