62 lines
1.9 KiB
Plaintext
62 lines
1.9 KiB
Plaintext
#################################################################
|
|
# #
|
|
# Bug # 27898384: InnoDB: Assertion failure: lock0lock.cc:4226: #
|
|
# !(lock2->trx == trx && lock_get_mode(lock2) == lock_mode) #
|
|
# #
|
|
#################################################################
|
|
##############
|
|
# SCENARIO 1 #
|
|
##############
|
|
CREATE TABLE t1 (
|
|
id INT PRIMARY KEY,
|
|
val INT
|
|
) Engine=InnoDB;
|
|
INSERT INTO t1 (id, val) VALUES (100,100),(200,200);
|
|
BEGIN;
|
|
DELETE FROM t1 WHERE id=123;
|
|
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
BEGIN;
|
|
SET DEBUG_SYNC = 'lock_wait_will_wait SIGNAL con1_will_wait';
|
|
INSERT INTO t1 (id, val) VALUES (123,123);;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR con1_will_wait';
|
|
ROLLBACK;
|
|
SELECT * FROM t1 WHERE 100<=id AND id<=200 AND val=100 FOR UPDATE;
|
|
id val
|
|
100 100
|
|
ROLLBACK;
|
|
DROP TABLE t1;
|
|
SET DEBUG_SYNC = 'RESET';
|
|
##############
|
|
# SCENARIO 2 #
|
|
##############
|
|
CREATE TABLE t1 (
|
|
`a` int(11) NOT NULL auto_increment,
|
|
`b` int(11) default NULL,
|
|
`c` int default 7,
|
|
PRIMARY KEY (`a`),
|
|
UNIQUE KEY `b` (`b`)
|
|
) ENGINE=innodb;
|
|
Warnings:
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
INSERT INTO t1 (a,b,c) VALUES (1,1,1), (2,2,2), (3,3,3), (4,4,4);
|
|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
BEGIN;
|
|
UPDATE t1 SET b=2 WHERE a=1;
|
|
ERROR 23000: Duplicate entry '2' for key 'b'
|
|
SELECT a FROM t1 WHERE 2<=b AND b<=3 AND c=1 FOR SHARE;
|
|
a
|
|
BEGIN;
|
|
SET DEBUG_SYNC = 'lock_wait_will_wait SIGNAL con2_will_wait';
|
|
DELETE FROM t1 WHERE b=2;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR con2_will_wait';
|
|
COMMIT;
|
|
COMMIT;
|
|
DROP TABLE t1;
|
|
SET DEBUG_SYNC = 'RESET';
|
|
########################
|
|
# #
|
|
# End of Bug #27898384 #
|
|
# #
|
|
########################
|