diff options
author | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-06-25 12:25:23 -0300 |
---|---|---|
committer | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-06-25 12:25:23 -0300 |
commit | 4c1333e6edc45bd10a23fa836f82d8b59d623fd5 (patch) | |
tree | c6433c113369ef43f4c39e0e54181893939bd2c5 /mysql-test | |
parent | cbfcafd4849807e71076f7fb866a896b74f6f79b (diff) | |
download | mariadb-git-4c1333e6edc45bd10a23fa836f82d8b59d623fd5.tar.gz |
Bug#45548: XA transaction without access to InnoDB tables crashes the server
The problem is that the one phase commit function failed to
properly end a empty transaction. The solution is to ensure
that the transaction cleanup procedure is invoked even for
empty transactions.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/xa.result | 8 | ||||
-rw-r--r-- | mysql-test/t/xa.test | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/r/xa.result b/mysql-test/r/xa.result index 92f52b402ec..a597806d897 100644 --- a/mysql-test/r/xa.result +++ b/mysql-test/r/xa.result @@ -81,3 +81,11 @@ xa rollback 'a'; xa start 'a'; xa end 'a'; xa rollback 'a'; +xa start 'a'; +xa end 'a'; +xa prepare 'a'; +xa commit 'a'; +xa start 'a'; +xa end 'a'; +xa prepare 'a'; +xa commit 'a'; diff --git a/mysql-test/t/xa.test b/mysql-test/t/xa.test index a0d5aa60641..7b1c6a268d5 100644 --- a/mysql-test/t/xa.test +++ b/mysql-test/t/xa.test @@ -135,6 +135,20 @@ xa start 'a'; xa end 'a'; xa rollback 'a'; +# +# Bug#45548: XA transaction without access to InnoDB tables crashes the server +# + +xa start 'a'; +xa end 'a'; +xa prepare 'a'; +xa commit 'a'; + +xa start 'a'; +xa end 'a'; +xa prepare 'a'; +xa commit 'a'; + # Wait till all disconnects are completed --source include/wait_until_count_sessions.inc |