MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Konstantin Osipov Date:July 30 2007 1:44pm
Subject:Re: bk commit into 5.0 tree (evgen:1.2500) BUG#24989
View as plain text  
* eugene@stripped <eugene@stripped> [07/07/30 17:39]:

> ChangeSet@stripped, 2007-07-30 17:14:34+04:00, evgen@stripped +8 -0
>   Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
>   When innodb detects a deadlock it calls ha_rollback_trans() to rollback the 
>   main transaction. But such action isn't allowed from inside of triggers and
>   functions. When it happen the 'Explicit or implicit commit' error is thrown
>   even if there is no commit/rollback statements in the trigger/function. This
>   leads to the user confusion.
>   Now the convert_error_code_to_mysql() function doesn't call the 
>   ha_rollback_trans() function directly but rather calls the
>   mark_transaction_to_rollback function and returns an error.
>   The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
>   trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
>   is set. Procedures are still allowed to catch such errors.
>   The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
>   The transaction_rollback_request and the is_fatal_sub_stmt_error flags are 
>   added to the THD class. The are initialized by the THD class constructor.
>   Now the ha_autocommit_or_rollback function rolls back main transaction
>   when not in a sub statement and the thd->transaction_rollback_request
>   is set.
>   The THD::restore_sub_statement_state function now resets the 
>   thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.

OK to push. Please forward this commit to dev@stripped and
dev-innodb@stripped, as it modifies and

Thank you for working on this.

-- Konstantin Osipov              Software Developer, Moscow, Russia
bk commit into 5.0 tree (evgen:1.2500) BUG#24989eugene30 Jul
  • Re: bk commit into 5.0 tree (evgen:1.2500) BUG#24989Konstantin Osipov30 Jul