commit:     34b51a42aacb35757a8d67f7f3f85085b6625aee
Author:     Brian Evans <grknight <AT> tuffmail <DOT> com>
AuthorDate: Sat May  9 18:15:58 2015 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Sat May  9 18:15:58 2015 +0000
URL:        https://gitweb.gentoo.org/proj/mysql-extras.git/commit/?id=34b51a42

Apply important fix to mariadb-5.5.43 for MDEV-8115

 00000_index.txt                               |  6 +++
 200018_all_mariadb-upgrade-crash-5.5.43.patch | 61 +++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)

diff --git a/00000_index.txt b/00000_index.txt
index 288889f..a330532 100644
--- a/00000_index.txt
+++ b/00000_index.txt
@@ -1916,3 +1916,9 @@
 @pn mysql-cluster
 @@ Fix property added to something not built with WITHOUT_SERVER
 
+@patch 200018_all_mariadb-upgrade-crash-5.5.43.patch
+@ver 5.05.43.00 to 5.05.43.99
+@pn mariadb
+@pn mariadb-galera
+@@ Fix crash of mysql_upgrade and the REPAIR VIEW command
+@@ Upstream MDEV-8115

diff --git a/200018_all_mariadb-upgrade-crash-5.5.43.patch 
b/200018_all_mariadb-upgrade-crash-5.5.43.patch
new file mode 100644
index 0000000..6ada096
--- /dev/null
+++ b/200018_all_mariadb-upgrade-crash-5.5.43.patch
@@ -0,0 +1,61 @@
+From 0014bdc7eef141dcd66930e853242b3be4960831 Mon Sep 17 00:00:00 2001
+From: Sergei Golubchik <[email protected]>
+Date: Thu, 7 May 2015 22:18:34 +0200
+Subject: [PATCH] MDEV-8115 mysql_upgrade crashes the server with REPAIR VIEW
+
+on REPAIR don't do table-specific stuff for views
+(because even if the view has a temp table opened for it,
+it's not opened all the way down the engine. In particular,
+Aria crashes in maria_status() because MARIA_HA* info - that is
+table->table->file->file - is NULL)
+---
+ mysql-test/r/repair.result | 7 +++++++
+ mysql-test/t/repair.test   | 9 +++++++++
+ sql/sql_admin.cc           | 2 +-
+ 3 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result
+index 52ae9c3..51c3374 100644
+--- a/mysql-test/r/repair.result
++++ b/mysql-test/r/repair.result
+@@ -207,3 +207,10 @@ check table t1;
+ Table Op      Msg_type        Msg_text
+ test.t1       check   status  OK
+ drop table t1;
++create table t1 (a blob);
++create view v1 as select * from t1;
++repair view v1;
++Table Op      Msg_type        Msg_text
++test.v1       repair  status  OK
++drop view v1;
++drop table t1;
+diff --git a/mysql-test/t/repair.test b/mysql-test/t/repair.test
+index 337b73f..f625965 100644
+--- a/mysql-test/t/repair.test
++++ b/mysql-test/t/repair.test
+@@ -208,3 +208,12 @@ repair table t1 use_frm;
+ select count(*) from t1;
+ check table t1;
+ drop table t1;
++
++#
++# MDEV-8115 mysql_upgrade crashes the server with REPAIR VIEW
++#
++create table t1 (a blob);
++create view v1 as select * from t1;
++repair view v1;
++drop view v1;
++drop table t1;
+diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc
+index 44057b6..9827c67 100644
+--- a/sql/sql_admin.cc
++++ b/sql/sql_admin.cc
+@@ -901,7 +901,7 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
+         break;
+       }
+     }
+-    if (table->table)
++    if (table->table && !table->view)
+     {
+       if (table->table->s->tmp_table)
+       {

Reply via email to