summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-04-19 22:32:27 +0200
committerSergei Golubchik <serg@mariadb.org>2018-04-19 22:32:27 +0200
commitf1258e7cd2c57886e5eb4cf51b4ab3a9c030cbab (patch)
tree2edcba47da3dac6c8c8f8f11156f5b2e42329f75
parent1a019d08012db7b3fa6a42d39342792c3418e75b (diff)
downloadmariadb-git-f1258e7cd2c57886e5eb4cf51b4ab3a9c030cbab.tar.gz
BUG#26881798: SERVER EXITS WHEN PRIMARY KEY IN MYSQL.PROC IS DROPPED
test case
-rw-r--r--mysql-test/r/sp-destruct.result6
-rw-r--r--mysql-test/t/sp-destruct.test10
2 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/r/sp-destruct.result b/mysql-test/r/sp-destruct.result
index 2dac0270ce1..b8f9a516d1e 100644
--- a/mysql-test/r/sp-destruct.result
+++ b/mysql-test/r/sp-destruct.result
@@ -174,3 +174,9 @@ create database mysqltest1;
create procedure mysqltest1.foo() select "foo";
update mysql.proc set name='' where db='mysqltest1';
drop database mysqltest1;
+create procedure p1() set @foo = 10;
+alter table mysql.proc drop primary key;
+drop procedure p1;
+ERROR HY000: Cannot load from mysql.proc. The table is probably corrupted
+alter table mysql.proc add primary key (db,name,type);
+drop procedure p1;
diff --git a/mysql-test/t/sp-destruct.test b/mysql-test/t/sp-destruct.test
index 3a2e9259938..e5314f89fd5 100644
--- a/mysql-test/t/sp-destruct.test
+++ b/mysql-test/t/sp-destruct.test
@@ -289,3 +289,13 @@ create database mysqltest1;
create procedure mysqltest1.foo() select "foo";
update mysql.proc set name='' where db='mysqltest1';
drop database mysqltest1;
+
+#
+# BUG#26881798: SERVER EXITS WHEN PRIMARY KEY IN MYSQL.PROC IS DROPPED
+#
+create procedure p1() set @foo = 10;
+alter table mysql.proc drop primary key;
+--error ER_CANNOT_LOAD_FROM_TABLE
+drop procedure p1;
+alter table mysql.proc add primary key (db,name,type);
+drop procedure p1;