Loading sql/ha_innodb.cc +7 −3 Original line number Diff line number Diff line Loading @@ -2445,9 +2445,10 @@ ha_innobase::write_row( /* If the insert did not succeed we restore the value of the auto-inc counter we used; note that this behavior was introduced only in version 4.0.4. NOTE that a REPLACE command handles a duplicate key error NOTE that a REPLACE command and LOAD DATA INFILE REPLACE handles a duplicate key error itself, and we must not decrement the autoinc counter if we are performing a REPLACE statement. if we are performing a those statements. NOTE 2: if there was an error, for example a deadlock, which caused InnoDB to roll back the whole transaction already in the call of row_insert_for_mysql(), we may no Loading @@ -2459,7 +2460,9 @@ ha_innobase::write_row( if (error == DB_DUPLICATE_KEY && (user_thd->lex->sql_command == SQLCOM_REPLACE || user_thd->lex->sql_command == SQLCOM_REPLACE_SELECT)) { == SQLCOM_REPLACE_SELECT || (user_thd->lex->sql_command == SQLCOM_LOAD && user_thd->lex->duplicates == DUP_REPLACE))) { skip_auto_inc_decr= TRUE; } Loading Loading @@ -5484,6 +5487,7 @@ innobase_query_is_replace(void) thd = (THD *)innobase_current_thd(); if ( thd->lex->sql_command == SQLCOM_REPLACE || thd->lex->sql_command == SQLCOM_REPLACE_SELECT || ( thd->lex->sql_command == SQLCOM_LOAD && thd->lex->duplicates == DUP_REPLACE )) { return true; Loading Loading
sql/ha_innodb.cc +7 −3 Original line number Diff line number Diff line Loading @@ -2445,9 +2445,10 @@ ha_innobase::write_row( /* If the insert did not succeed we restore the value of the auto-inc counter we used; note that this behavior was introduced only in version 4.0.4. NOTE that a REPLACE command handles a duplicate key error NOTE that a REPLACE command and LOAD DATA INFILE REPLACE handles a duplicate key error itself, and we must not decrement the autoinc counter if we are performing a REPLACE statement. if we are performing a those statements. NOTE 2: if there was an error, for example a deadlock, which caused InnoDB to roll back the whole transaction already in the call of row_insert_for_mysql(), we may no Loading @@ -2459,7 +2460,9 @@ ha_innobase::write_row( if (error == DB_DUPLICATE_KEY && (user_thd->lex->sql_command == SQLCOM_REPLACE || user_thd->lex->sql_command == SQLCOM_REPLACE_SELECT)) { == SQLCOM_REPLACE_SELECT || (user_thd->lex->sql_command == SQLCOM_LOAD && user_thd->lex->duplicates == DUP_REPLACE))) { skip_auto_inc_decr= TRUE; } Loading Loading @@ -5484,6 +5487,7 @@ innobase_query_is_replace(void) thd = (THD *)innobase_current_thd(); if ( thd->lex->sql_command == SQLCOM_REPLACE || thd->lex->sql_command == SQLCOM_REPLACE_SELECT || ( thd->lex->sql_command == SQLCOM_LOAD && thd->lex->duplicates == DUP_REPLACE )) { return true; Loading