mariadb/storage/innobase
Annamalai Gurusami a69f4a0573 Bug #16004999 ASSERT STATE == TRX_STATE_NOT_STARTED, UNLOCK_ROW()
Problem:

During the index intersect access method, the SQL layer will access one row,
that satisfies a set of conditions, using an index i1.  And then it will try to
access the same row, with other set of conditions using the next index i2.  If
the fetch from i2 fails (we are talking about an error situation here and not
simply an unmatched row situation), then it will unlock the row accessed via
i1.  This will work in all situations except deadlock error.

When a deadlock happens, InnoDB will rollback the transaction.  InnoDB intimates
the SQL layer about this through the THD::transaction_rollback_request member.
But this is not currently used by the SQL layer.

Solution:

When an error happens, the SQL layer must check the 
THD::transaction_rollback_request member, before calling handler::unlock_row().
We have also added a debug assert in ha_innobase::unlock_row() checking that
it must be called only when the transaction is in active state.

rb#1773 approved by Marko and Sunny.
2013-01-10 10:28:04 +05:30
..
btr Bug #14676111 WRONG PAGE_LEVEL WRITTEN FOR UPPER THAN FATHER PAGE AT BTR_LIFT_PAGE_UP() 2012-11-12 22:33:40 +09:00
buf Approved by Jimmy and Inaam. rb#1576 2012-12-17 23:13:46 +08:00
data
dict Fix Bug#16021177 DICT_LOAD_FOREIGNS() PASSES UNALIGNED MEMORY TO 2012-12-19 13:46:00 +02:00
dyn
eval
fil Bug #14556349 RENAME OF COMPRESSED TABLE AND INSERT BUFFER MERGE CAUSE 2012-12-20 11:59:36 +05:30
fsp Merging from mysql-5.1 to mysql-5.5. 2012-03-09 12:35:27 +05:30
fut
ha WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
handler Bug #16004999 ASSERT STATE == TRX_STATE_NOT_STARTED, UNLOCK_ROW() 2013-01-10 10:28:04 +05:30
ibuf Merge mysql-5.1 to mysql-5.5. 2012-09-19 22:55:26 +03:00
include Merge mysql-5.1 -> mysql-5.5 2012-12-18 16:52:58 +02:00
lock Bug #16004999 ASSERT STATE == TRX_STATE_NOT_STARTED, UNLOCK_ROW() 2013-01-10 10:28:04 +05:30
log Merging from mysql-5.1 to mysql-5.5. 2012-11-09 18:56:20 +05:30
mach
mem WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
mtr Merge mysql-5.1 to mysql-5.5. 2012-02-17 11:52:51 +02:00
os Fix compilation error in debug mode: 2012-10-10 22:22:10 +03:00
page Merge mysql-5.1 to mysql-5.5. 2012-09-17 14:32:07 +03:00
pars Partial fix for Bug#11764622 57480: MEMORY LEAK WHEN HAVING 256+ TABLES 2011-12-29 16:05:08 +02:00
que
read
rem Merge mysql-5.1 to mysql-5.5. 2012-11-15 20:38:04 +02:00
row Merge Post Fix for BUG#14628410 from mysql-5.1 to mysql-5.5 2013-01-04 17:34:02 +05:30
srv Approved by Jimmy and Inaam. rb#1576 2012-12-17 23:13:46 +08:00
sync Merge from mysql-5.1 to mysql-5.5. 2013-01-10 10:11:53 +11:00
trx UNIV_DEBUG build of some environments needs 2012-12-04 12:32:58 +09:00
usr
ut WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
CMakeLists.txt
compile-innodb
COPYING.Google
COPYING.Percona
Doxyfile
ha_innodb.def