diff options
author | Timothy Smith <timothy.smith@sun.com> | 2008-08-19 18:40:56 -0600 |
---|---|---|
committer | Timothy Smith <timothy.smith@sun.com> | 2008-08-19 18:40:56 -0600 |
commit | c8fad67da792333af8cbc6b659dffa6d742f35a3 (patch) | |
tree | 37414d2fe5b644c1e164b1cd8f812fc30bf84065 /storage | |
parent | 239ab2c46afae13fffdfc84f478f22efb8ff9ad0 (diff) | |
download | mariadb-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.cc | 3 |
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. */ |