转载请署名:印风
-----------------------------------------------
在innodb里我们经常可以看到一段代码,以mtr_start()开始,以mtr_commit(&mtr)结束;minitransaction主要用于锁和日志信息.
Mini事务的控制结构体:
struct mtr_struct{
#ifdef UNIV_DEBUG
ulint state; /*!<MTR_ACTIVE, MTR_COMMITTING, MTR_COMMITTED */
#endif
dyn_array_t memo; /*!<memo stack for locks etc. */
dyn_array_t log; /*!<mini-transaction log */
ibool inside_ibuf;
/*!<TRUE if inside ibuf changes */
ibool modifications;
/*TRUE if the mtr made modifications to
bufferpool pages */
ulint n_log_recs;
<