mariadb/storage/innobase
Aditya A 608efca4c4 Bug #21025880 DUPLICATE UK VALUES IN READ-COMMITTED (AGAIN)
PROBLEM

Whenever we insert in unique secondary index we take shared
locks on all possible duplicate record present in the table.
But while during a replace on the unique secondary index ,
we take exclusive and locks on the all duplicate record.
When the records are deleted, they are first delete marked
and later purged by the purge thread. While purging the
record we call the lock_update_delete() which in turn calls
lock_rec_inherit_to_gap() to inherit locks of the deleted
records. In repeatable read mode we inherit all the locks
from the record to the next record  but in the read commited
mode we skip inherting them as gap type locks. We make a
exception here if the lock on the records is  in shared mode
,we assume that it is set during insert for unique secondary
index and needs to be inherited to stop constraint violation.
We didnt handle the case when exclusive locks are set during
replace, we skip inheriting locks of these records and hence
causing constraint violation.

FIX

While inheriting the locks,check whether the transaction is
allowed to do TRX_DUP_REPLACE/TRX_DUP_IGNORE, if true
inherit the locks.

[ Revewied by Jimmy #rb9709]
2015-08-12 19:17:26 +05:30
..
btr Merge branch 'mysql-5.1' into mysql-5.5 2015-07-29 18:27:39 +05:30
buf Bug#20422680 BUF_POOL_WATCH_SET WOULD CRASH TRYING 2015-03-24 14:09:18 +05:30
data Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
dict Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE 2015-06-19 10:17:52 +05:30
dyn Bug#16138582 MTR_MEMO_RELEASE AND DYN_ARRAY TOGETHER ARE VERY INEFFICIENT 2013-01-17 17:30:13 +02:00
eval Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
fil Testcase i_innodb.innodb-alter-restart.test fails on some Windows platforms 2013-10-29 11:39:04 -05:00
fsp Merging from mysql-5.1 to mysql-5.5. 2012-03-09 12:35:27 +05:30
fut Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
ha Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
handler Bug #17299181 CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLES 2015-04-06 12:27:12 +05:30
ibuf Merge fix for BUG#17446090 from mysql-5.1 to mysql-5.5 2013-09-27 18:32:13 +05:30
include BUG#21102971 data corruption on arm64 2015-08-10 16:31:05 +08:00
lock Bug #21025880 DUPLICATE UK VALUES IN READ-COMMITTED (AGAIN) 2015-08-12 19:17:26 +05:30
log Adjustment for fix for Bug#11758196 2013-09-30 15:02:54 +09:00
mach Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
mem Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
mtr Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
os Bug#21113036 - MYSQL/INNODB MIX BUFFERED AND DIRECT IO 2015-05-21 11:52:17 +08:00
page Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
pars Bug 16876388 - PLEASE BACKPORT BUG#16208542 TO 5.5 2013-06-25 09:42:54 +08:00
que Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
read Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
rem Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
row Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT 2015-06-22 12:49:32 +05:30
srv Bug#20816223 InnoDB crash on shutdown 2015-04-09 08:13:07 +03:00
sync Bug #20417397 MYSQL SHOW ENGINE INNODB STATUS SHOWING NEGATIVE 2015-03-11 15:17:35 +05:30
trx Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
usr Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
ut Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
CMakeLists.txt BUG#21102971 data corruption on arm64 2015-08-10 16:31:05 +08:00
compile-innodb Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
COPYING.Google Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
COPYING.Percona Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
Doxyfile Remove ut0auxconf.h. 2010-09-09 14:27:52 +03:00
ha_innodb.def Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00