summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorTimothy Smith <timothy.smith@sun.com>2008-08-19 18:40:56 -0600
committerTimothy Smith <timothy.smith@sun.com>2008-08-19 18:40:56 -0600
commitc8fad67da792333af8cbc6b659dffa6d742f35a3 (patch)
tree37414d2fe5b644c1e164b1cd8f812fc30bf84065 /storage
parent239ab2c46afae13fffdfc84f478f22efb8ff9ad0 (diff)
downloadmariadb-git-c8fad67da792333af8cbc6b659dffa6d742f35a3.tar.gz
Cherry-pick one change from innodb-5.1-ss2485 snapshot. Fixes Bug#35602.
Bug #35602 "Failed to read auto-increment value from storage engine" with Innodb The test for REPLACE was an error of ommission since it's classified as a simple INSERT. For REPLACE statements we don't acquire the special AUTOINC lock for AUTOINC_NEW_STYLE_LOCKING with this fix.
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/handler/ha_innodb.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index 31e74b97515..03104eac150 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -3277,7 +3277,8 @@ ha_innobase::innobase_autoinc_lock(void)
old style only if another transaction has already acquired
the AUTOINC lock on behalf of a LOAD FILE or INSERT ... SELECT
etc. type of statement. */
- if (thd_sql_command(user_thd) == SQLCOM_INSERT) {
+ if (thd_sql_command(user_thd) == SQLCOM_INSERT
+ || thd_sql_command(user_thd) == SQLCOM_REPLACE) {
dict_table_t* table = prebuilt->table;
/* Acquire the AUTOINC mutex. */