#At file:///home/tsmith/m/bzr/19aug/51/
2714 Timothy Smith 2008-08-19
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.
modified:
storage/innobase/handler/ha_innodb.cc
=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc 2008-08-20 00:37:41 +0000
+++ b/storage/innobase/handler/ha_innodb.cc 2008-08-20 00:40:56 +0000
@@ -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. */
Thread |
---|
• bzr commit into mysql-5.1 branch (timothy.smith:2714) Bug#35602 | Timothy Smith | 20 Aug |