SET @old_innodb_enable_xap_unlock_unmodified_for_primary_debug= @@GLOBAL.innodb_enable_xap_unlock_unmodified_for_primary_debug; SET GLOBAL innodb_enable_xap_unlock_unmodified_for_primary_debug= 1; BEGIN NOT ATOMIC DECLARE c TEXT DEFAULT( SELECT CONCAT( 'CREATE TABLE t1(pk', GROUP_CONCAT(seq SEPARATOR ' INT, pk'), ' INT, a', GROUP_CONCAT(seq SEPARATOR ' INT, a'), ' INT, b', GROUP_CONCAT(seq SEPARATOR ' INT, b'), ' INT, c INT, PRIMARY KEY(pk', GROUP_CONCAT(seq SEPARATOR ', pk'), '), INDEX i1(a', GROUP_CONCAT(seq SEPARATOR ', a'), '), INDEX i2(b', GROUP_CONCAT(seq SEPARATOR ', b'), ')) ENGINE=InnoDB;') FROM seq_1_to_32); EXECUTE IMMEDIATE c; END; $$ BEGIN NOT ATOMIC DECLARE c TEXT DEFAULT( SELECT CONCAT( 'INSERT INTO t1 VALUES (', GROUP_CONCAT('1' SEPARATOR ','), ',', GROUP_CONCAT('1' SEPARATOR ','), ',', GROUP_CONCAT('1' SEPARATOR ','), ',0), (', GROUP_CONCAT('2' SEPARATOR ','), ',', GROUP_CONCAT('1' SEPARATOR ','), ',', GROUP_CONCAT('2' SEPARATOR ','), ',0), (', GROUP_CONCAT('3' SEPARATOR ','), ',', GROUP_CONCAT('2' SEPARATOR ','), ',', GROUP_CONCAT('1' SEPARATOR ','), ',0), (', GROUP_CONCAT('4' SEPARATOR ','), ',', GROUP_CONCAT('2' SEPARATOR ','), ',', GROUP_CONCAT('2' SEPARATOR ','), ',0);') FROM seq_1_to_32); EXECUTE IMMEDIATE c; END; $$ SET @old_timeout= @@GLOBAL.innodb_lock_wait_timeout; SET GLOBAL innodb_lock_wait_timeout= 1; XA START "t1"; UPDATE t1 FORCE INDEX (i2) SET c=c+1 WHERE a1=1 AND b1=1; XA END "t1"; XA PREPARE "t1"; connect con1,localhost,root,,; SELECT a1, b1, c FROM t1 FORCE INDEX (i1) WHERE a1=2 AND b1=1 FOR UPDATE; a1 b1 c 2 1 0 disconnect con1; connection default; XA COMMIT "t1"; SET GLOBAL innodb_enable_xap_unlock_unmodified_for_primary_debug= @old_innodb_enable_xap_unlock_unmodified_for_primary_debug; SET GLOBAL innodb_lock_wait_timeout= @old_timeout; BEGIN NOT ATOMIC DECLARE c TEXT DEFAULT( SELECT CONCAT( 'ALTER TABLE t1 ADD COLUMN d', GROUP_CONCAT(seq SEPARATOR ' INT, ADD COLUMN d'), ' INT, ADD INDEX i3(d', GROUP_CONCAT(seq SEPARATOR ', d'), ');') FROM seq_1_to_33); EXECUTE IMMEDIATE c; END; $$ ERROR 42000: Too many key parts specified; max 32 parts allowed DROP TABLE t1;