summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2009-06-25 12:25:23 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2009-06-25 12:25:23 -0300
commit4c1333e6edc45bd10a23fa836f82d8b59d623fd5 (patch)
treec6433c113369ef43f4c39e0e54181893939bd2c5 /mysql-test
parentcbfcafd4849807e71076f7fb866a896b74f6f79b (diff)
downloadmariadb-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.result8
-rw-r--r--mysql-test/t/xa.test14
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