Commit 70c94f36 authored by Alfranio Correia's avatar Alfranio Correia

BUG#42445 Warning messages in innobase/handler/ha_innodb.cc

      
There was a type casting problem in the storage/innobase/handler/ha_innodb.cc,
(int ha_innobase::write_row(...)). Innobase uses has an internal error variable
of type 'ulint' while mysql uses an 'int'. 
      
To fix the problem the function manipulates an error variable of
type 'ulint' and only casts it into 'int' when needs to return the value.
parent 6fb2ba1c
...@@ -3577,7 +3577,8 @@ ha_innobase::write_row( ...@@ -3577,7 +3577,8 @@ ha_innobase::write_row(
/* out: error code */ /* out: error code */
uchar* record) /* in: a row in MySQL format */ uchar* record) /* in: a row in MySQL format */
{ {
int error = 0; ulint error = 0;
int error_result= 0;
ibool auto_inc_used= FALSE; ibool auto_inc_used= FALSE;
ulint sql_command; ulint sql_command;
trx_t* trx = thd_to_trx(user_thd); trx_t* trx = thd_to_trx(user_thd);
...@@ -3693,6 +3694,7 @@ ha_innobase::write_row( ...@@ -3693,6 +3694,7 @@ ha_innobase::write_row(
} }
/* MySQL errors are passed straight back. */ /* MySQL errors are passed straight back. */
error_result = (int) error;
goto func_exit; goto func_exit;
} }
...@@ -3786,7 +3788,7 @@ ha_innobase::write_row( ...@@ -3786,7 +3788,7 @@ ha_innobase::write_row(
err = innobase_set_max_autoinc(auto_inc); err = innobase_set_max_autoinc(auto_inc);
if (err != DB_SUCCESS) { if (err != DB_SUCCESS) {
error = (int) err; error = err;
} }
} }
break; break;
...@@ -3796,12 +3798,12 @@ ha_innobase::write_row( ...@@ -3796,12 +3798,12 @@ ha_innobase::write_row(
innodb_srv_conc_exit_innodb(prebuilt->trx); innodb_srv_conc_exit_innodb(prebuilt->trx);
report_error: report_error:
error = convert_error_code_to_mysql(error, user_thd); error_result = convert_error_code_to_mysql((int) error, user_thd);
func_exit: func_exit:
innobase_active_small(); innobase_active_small();
DBUG_RETURN(error); DBUG_RETURN(error_result);
} }
/************************************************************************** /**************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment