polardbxengine/mysql-test/suite/innodb/r/lock_rec_unlock.result

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 #
# #
########################