mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
MDEV-7908: assertion in innobase_release_savepoint
Problem was that in XA prepared state we should still be able to release a savepoint, but assertions were too strict.
This commit is contained in:
17
mysql-test/suite/innodb/r/innodb-xa.result
Normal file
17
mysql-test/suite/innodb/r/innodb-xa.result
Normal file
@@ -0,0 +1,17 @@
|
||||
xa rollback 'xid2';
|
||||
ERROR XAE04: XAER_NOTA: Unknown XID
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.t1'
|
||||
create table t1(a int)engine=innodb;
|
||||
rollback;
|
||||
xa start 'xid2';
|
||||
insert into `t1` values (1);
|
||||
savepoint `sv1`;
|
||||
xa end 'xid2';
|
||||
start transaction;
|
||||
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
|
||||
xa prepare 'xid2';
|
||||
release savepoint `sv1`;
|
||||
xa commit 'xid2';
|
||||
drop table t1;
|
||||
17
mysql-test/suite/innodb/t/innodb-xa.test
Normal file
17
mysql-test/suite/innodb/t/innodb-xa.test
Normal file
@@ -0,0 +1,17 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--disable_abort_on_error
|
||||
xa rollback 'xid2';
|
||||
drop table if exists t1;
|
||||
create table t1(a int)engine=innodb;
|
||||
rollback;
|
||||
xa start 'xid2';
|
||||
insert into `t1` values (1);
|
||||
savepoint `sv1`;
|
||||
xa end 'xid2';
|
||||
start transaction;
|
||||
xa prepare 'xid2';
|
||||
release savepoint `sv1`;
|
||||
xa commit 'xid2';
|
||||
drop table t1;
|
||||
|
||||
Reference in New Issue
Block a user