From: Zardosht Kasheff Date: June 6 2012 3:32am Subject: question on semantics of "xa end" List-Archive: http://lists.mysql.com/internals/38523 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Hello all, In mysql-test/t/xa.test, I see the following test copied below. Why does the command "xa end 'a','c';" return an error? What are the semantics of xa end? How is the storage engine supposed to ensure that xa end returns that error? I don't see a handlerton function that maps to xa end. Thanks -Zardosht create table t1(a int, b int, c varchar(20), primary key(a)) engine = innodb; insert into t1 values(1, 1, 'a'); insert into t1 values(2, 2, 'b'); connect (con1,localhost,root,,); connect (con2,localhost,root,,); --connection con1 xa start 'a','b'; update t1 set c = 'aa' where a = 1; --connection con2 xa start 'a','c'; update t1 set c = 'bb' where a = 2; --connection con1 --send update t1 set c = 'bb' where a = 2 --connection con2 --sleep 1 --error ER_LOCK_DEADLOCK update t1 set c = 'aa' where a = 1; select count(*) from t1; --error ER_XA_RBDEADLOCK xa end 'a','c';