summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2010-05-21 19:57:01 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2010-05-21 19:57:01 +0000
commitde233970d2dfbe74777042a8db77a6adb5023f9f (patch)
tree89048efa3290236a43a1f80a6bbcbd95f3f3b347 /15010_all_innodb_show_bp-fixes-5.0.91.patch
parentMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/mysql-extras (diff)
downloadmysql-extras-de233970d2dfbe74777042a8db77a6adb5023f9f.tar.gz
mysql-extras-de233970d2dfbe74777042a8db77a6adb5023f9f.tar.bz2
mysql-extras-de233970d2dfbe74777042a8db77a6adb5023f9f.zip
Bug 320539.
Diffstat (limited to '15010_all_innodb_show_bp-fixes-5.0.91.patch')
-rw-r--r--15010_all_innodb_show_bp-fixes-5.0.91.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/15010_all_innodb_show_bp-fixes-5.0.91.patch b/15010_all_innodb_show_bp-fixes-5.0.91.patch
new file mode 100644
index 0000000..110c745
--- /dev/null
+++ b/15010_all_innodb_show_bp-fixes-5.0.91.patch
@@ -0,0 +1,35 @@
+Gentoo-Bug: 320539
+Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=320539
+MySQL-Bug: 48203
+MySQL-Bug-URL: http://bugs.mysql.com/bug.php?id=48203
+
+If you disable InnoDB with skip-innodb, then use:
+SELECT COUNT(*) FROM information_schema.INNODB_BUFFER_POOL_CONTENT;
+You get a crash.
+
+diff -Nuar mysql/sql/ha_innodb.cc mysql/sql/ha_innodb.cc
+--- mysql/sql/ha_innodb.cc 2010-05-21 19:39:34.633097661 +0000
++++ mysql/sql/ha_innodb.cc 2010-05-21 19:49:22.865142740 +0000
+@@ -6729,6 +6729,13 @@
+ char table_name_raw[NAME_LEN*5+1];
+
+ DBUG_ENTER("innodb_I_S_buffer_pool_content");
++
++ if (have_innodb != SHOW_OPTION_YES) {
++ my_message(ER_NOT_SUPPORTED_YET,
++ "Cannot use the INNODB_BUFFER_POOL_CONTENT table because skip-innodb is defined",
++ MYF(0));
++ DBUG_RETURN(TRUE);
++ }
+
+
+ size = buf_pool->curr_size;
+@@ -6790,7 +6797,7 @@
+ table->field[10]->store(index->name, strlen(index->name), system_charset_info);
+ // fprintf(stderr, " index %s, table %s", index->name, index->table_name);
+
+- if((p = strchr(index->table_name, '/')))
++ if((p = strchr((char *)(index->table_name), '/')))
+ {
+ strncpy(db_name_raw, index->table_name, p-index->table_name);
+ db_name_raw[p-index->table_name] = 0;