summaryrefslogtreecommitdiff
path: root/mysql-test/t/heap_btree.test
diff options
context:
space:
mode:
authorAnurag Shekhar <anurag.shekhar@sun.com>2009-05-06 13:37:10 +0530
committerAnurag Shekhar <anurag.shekhar@sun.com>2009-05-06 13:37:10 +0530
commitc7c169eda2de854ebbedf90b619317ce5d63cd0a (patch)
treef1f1fdf120a0888c698826d038a5087ebfa0fd5c /mysql-test/t/heap_btree.test
parentcd69acad0d409c3399931f3b5cde252ce88a55b8 (diff)
downloadmariadb-git-c7c169eda2de854ebbedf90b619317ce5d63cd0a.tar.gz
Bug #39918 memory (heap) engine crashing with b-tree index and DELETE
with seg fault Multiple-table DELETE from a table joined to itself may cause server crash. This was originally discovered with MEMORY engine, but may affect other engines with different symptoms. The problem was that the server violated SE API by performing parallel table scan in one handler and removing records in another (delete on the fly optimization). mysql-test/r/heap_btree.result: Updated test result after adding new test for this bug. mysql-test/t/heap_btree.test: Updated test result after adding new test for the bug report. sql/sql_delete.cc: Updated to check if the files in delete list appears in join list and disable delete while scanning, if it appears.
Diffstat (limited to 'mysql-test/t/heap_btree.test')
-rw-r--r--mysql-test/t/heap_btree.test8
1 files changed, 8 insertions, 0 deletions
diff --git a/mysql-test/t/heap_btree.test b/mysql-test/t/heap_btree.test
index 76c319c0bc1..710c8411751 100644
--- a/mysql-test/t/heap_btree.test
+++ b/mysql-test/t/heap_btree.test
@@ -253,5 +253,13 @@ insert into t1 values (1, 1), (3, 3), (2, 2), (NULL, 1), (NULL, NULL), (0, 0);
select * from t1 where a is null;
drop table t1;
+-- echo #
+-- echo # bug#39918 - memory (heap) engine crashing while executing self join with delete
+-- echo #
+
+CREATE TABLE t1(a INT, KEY USING BTREE (a)) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1),(1);
+DELETE a1 FROM t1 AS a1, t1 AS a2 WHERE a1.a=a2.a;
+DROP TABLE t1;
--echo End of 5.0 tests