summaryrefslogtreecommitdiff
path: root/mysql-test/t/xa.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
commiteefdd70ab2bf00146c399a3ed042f77ac74730b8 (patch)
treec6433c113369ef43f4c39e0e54181893939bd2c5 /mysql-test/t/xa.test
parent4171540d9545a111e8937d3f6a2c31382ccb0b80 (diff)
downloadmariadb-git-eefdd70ab2bf00146c399a3ed042f77ac74730b8.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. mysql-test/r/xa.result: Add test case result for Bug#45548 mysql-test/t/xa.test: Add test case for Bug#45548 sql/handler.cc: Invoke transaction cleanup function whenever a transaction is ended.
Diffstat (limited to 'mysql-test/t/xa.test')
-rw-r--r--mysql-test/t/xa.test14
1 files changed, 14 insertions, 0 deletions
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