3259 kevin.lewis@stripped 2011-07-19
WL5756 - A small change is made that will prevent InnoDB from crashing if a system tablespace with 8k pages is opened by an engine that is using innodb-page-size = 16k. The crash happens when InnoDB is reporting a bad page.
modified:
storage/innobase/dict/dict0dict.c
3258 kevin.lewis@stripped 2011-07-19
Cleanup from previous WL5756 patch. It was missing 4k and 8k versions of innodb_index_large_prefix.test which is only for 16k pages. Also, some cleanup of comments in test files.
added:
mysql-test/suite/innodb/r/innodb_index_large_prefix_4k.result
mysql-test/suite/innodb/r/innodb_index_large_prefix_8k.result
mysql-test/suite/innodb/t/innodb_index_large_prefix_4k.test
mysql-test/suite/innodb/t/innodb_index_large_prefix_8k.test
modified:
mysql-test/suite/innodb/r/innodb_16k.result
mysql-test/suite/innodb/r/innodb_4k.result
mysql-test/suite/innodb/r/innodb_8k.result
mysql-test/suite/innodb/t/innodb.test
mysql-test/suite/innodb/t/innodb_16k.test
mysql-test/suite/innodb/t/innodb_4k.test
mysql-test/suite/innodb/t/innodb_8k.test
=== modified file 'storage/innobase/dict/dict0dict.c'
--- a/storage/innobase/dict/dict0dict.c revid:kevin.lewis@stripped
+++ b/storage/innobase/dict/dict0dict.c revid:kevin.lewis@stripped
@@ -1263,6 +1263,10 @@ dict_index_find_on_id_low(
{
dict_table_t* table;
+ /* This can happen if the system tablespace is the wrong page size */
+ if (dict_sys == NULL)
+ return NULL;
+
for (table = UT_LIST_GET_FIRST(dict_sys->table_LRU);
table != NULL;
table = UT_LIST_GET_NEXT(table_LRU, table)) {
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (kevin.lewis:3258 to 3259) | kevin.lewis | 20 Jul |