~maria-captains/maria/5.1

Viewing all changes in revision 2502.1137.182.

  • Committer: Annamalai Gurusami
  • Date: 2012-05-10 04:48:31 UTC
  • mto: (2502.1194.1 mysql-5.1.64-release)
  • mto: This revision was merged to the branch mainline in revision 3152.
  • Revision ID: annamalai.gurusami@oracle.com-20120510044831-d4xkpk2ky5sioeeq
Bug #14007649 65111: INNODB SOMETIMES FAILS TO UPDATE ROWS INSERTED 
BY A CONCURRENT TRANSACTIO

The member function QUICK_RANGE_SELECT::init_ror_merged_scan() performs
a table handler clone. Innodb does not provide a clone operation.  
The ha_innobase::clone() is not there. The handler::clone() does not 
take care of the ha_innobase->prebuilt->select_lock_type.  Because of 
this what happens is that for one index we do a locking read, and 
for the other index we were doing a non-locking (consistent) read. 
The patch introduces ha_innobase::clone() member function.  
It is implemented similar to ha_myisam::clone().  It calls the 
base class handler::clone() and then does any additional operation 
required.  I am setting the ha_innobase->prebuilt->select_lock_type 
correctly. 

rb://1060 approved by Marko

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: