Re: purpose of thd_mark_transaction_to_rollback

Dmitry Lenev <[email protected]> Tue, 19 Jun 2012 23:53:50 +0400
Newsgroups gmane.comp.db.mysql.devel
Message-ID <20120619195350.GB11468@jubjub>
Hello Zardosht!

* Zardosht Kasheff <[email protected]> [12/06/19 22:20]:
> Hello all,
> 
> What is the purpose of thd_mark_transaction_to_rollback?

This call allows storage engine to request a transaction/statement
rollback from SQL-layer.

For example, when InnoDB storage engine detects a deadlock it rolls
back the transaction inside storage engine (i.e. itself), but it still
needs to invoke this method so transaction is properly rolled back
in other storage engines (including binary log).

> Under what conditions is a storage engine required to call this function?

See above. I guess it is good idea to call this method when your
storage engine decides to initiate a transaction rollback because
of internal reasons, i.e. in case when such a rollback is not
explicitly initiated from SQL-layer.

Hope this helps!

-- 
Dmitry Lenev, Software Developer
Oracle Development SPB/MySQL, www.mysql.com

Are you MySQL certified?  http://www.mysql.com/certification

-- 
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe:    http://lists.mysql.com/internals