diff --git a/handler/ha_innodb.cc b/handler/ha_innodb.cc index 385eab3a5cb..d6f6c5fd565 100644 --- a/handler/ha_innodb.cc +++ b/handler/ha_innodb.cc @@ -4113,7 +4113,8 @@ ha_innobase::write_row( /* out: error code */ uchar* record) /* in: a row in MySQL format */ { - int error = 0; + ulint error = 0; + int error_result= 0; ibool auto_inc_used= FALSE; ulint sql_command; trx_t* trx = thd_to_trx(user_thd); @@ -4229,6 +4230,7 @@ no_commit: } /* MySQL errors are passed straight back. */ + error_result = (int) error; goto func_exit; } @@ -4321,7 +4323,7 @@ set_max_autoinc: err = innobase_set_max_autoinc(auto_inc); if (err != DB_SUCCESS) { - error = (int) err; + error = err; } } break; @@ -4331,13 +4333,14 @@ set_max_autoinc: innodb_srv_conc_exit_innodb(prebuilt->trx); report_error: - error = convert_error_code_to_mysql(error, prebuilt->table->flags, - user_thd); + error_result = convert_error_code_to_mysql((int) error, + prebuilt->table->flags, + user_thd); func_exit: innobase_active_small(); - DBUG_RETURN(error); + DBUG_RETURN(error_result); } /**************************************************************************