summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@tuffmail.com>2015-05-09 14:15:58 -0400
committerBrian Evans <grknight@tuffmail.com>2015-05-09 14:15:58 -0400
commit34b51a42aacb35757a8d67f7f3f85085b6625aee (patch)
treee34e75cf52992999ae20791ddfac7941c7746e7e
parentUpdate patch index max for OpenSSL version detection (diff)
downloadmysql-extras-34b51a42aacb35757a8d67f7f3f85085b6625aee.tar.gz
mysql-extras-34b51a42aacb35757a8d67f7f3f85085b6625aee.tar.bz2
mysql-extras-34b51a42aacb35757a8d67f7f3f85085b6625aee.zip
Apply important fix to mariadb-5.5.43 for MDEV-8115mysql-extras-20150509-1847Z
-rw-r--r--00000_index.txt6
-rw-r--r--200018_all_mariadb-upgrade-crash-5.5.43.patch61
2 files changed, 67 insertions, 0 deletions
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 <serg@mariadb.org>
+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)
+ {