From 545a6194e827ace9d2d560d89dcde735676abbdb Mon Sep 17 00:00:00 2001 From: Varun Gupta Date: Mon, 22 Jun 2020 19:48:46 +0530 Subject: [PATCH] MDEV-22187: SIGSEGV in ha_innobase::cmp_ref on DELETE Added a new test file for tests with delete using INNODB. --- mysql-test/main/delete_innodb.result | 26 ++++++++++++++++++++++++++ mysql-test/main/delete_innodb.test | 22 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 mysql-test/main/delete_innodb.result create mode 100644 mysql-test/main/delete_innodb.test diff --git a/mysql-test/main/delete_innodb.result b/mysql-test/main/delete_innodb.result new file mode 100644 index 0000000000000..e82d162cce808 --- /dev/null +++ b/mysql-test/main/delete_innodb.result @@ -0,0 +1,26 @@ +# Tests for delete with INNODB +# +# MDEV-22187: SIGSEGV in ha_innobase::cmp_ref on DELETE +# +SET @save_sort_buffer_size= @@sort_buffer_size; +SET sort_buffer_size=1024; +CREATE TABLE t1(c1 CHAR(255) PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t1 VALUES (0), ('a'), ('b'); +ANALYZE TABLE T1 PERSISTENT FOR ALL; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +SELECT * FROM t1; +c1 +0 +a +b +EXPLAIN DELETE b FROM t1 AS a JOIN t1 AS b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE a index NULL PRIMARY 255 NULL 3 Using index +1 SIMPLE b ALL NULL NULL NULL NULL 3 +DELETE b FROM t1 AS a JOIN t1 AS b; +SELECT * FROM t1; +c1 +SET sort_buffer_size=@save_sort_buffer_size; +DROP TABLE t1; diff --git a/mysql-test/main/delete_innodb.test b/mysql-test/main/delete_innodb.test new file mode 100644 index 0000000000000..17a4e4d98f3a8 --- /dev/null +++ b/mysql-test/main/delete_innodb.test @@ -0,0 +1,22 @@ +--source include/have_innodb.inc +--source include/have_sequence.inc + +--echo # Tests for delete with INNODB + +--echo # +--echo # MDEV-22187: SIGSEGV in ha_innobase::cmp_ref on DELETE +--echo # + +SET @save_sort_buffer_size= @@sort_buffer_size; +SET sort_buffer_size=1024; +CREATE TABLE t1(c1 CHAR(255) PRIMARY KEY) ENGINE=InnoDB; + +INSERT INTO t1 VALUES (0), ('a'), ('b'); +ANALYZE TABLE T1 PERSISTENT FOR ALL; +SELECT * FROM t1; +EXPLAIN DELETE b FROM t1 AS a JOIN t1 AS b; +DELETE b FROM t1 AS a JOIN t1 AS b; +SELECT * FROM t1; + +SET sort_buffer_size=@save_sort_buffer_size; +DROP TABLE t1;