Commit e1645581 authored by marko's avatar marko

branches/zip: btr_check_blob_fil_page_type(): Do not report

FIL_PAGE_TYPE mismatch even when purging a BLOB.
Heavy users may have large data files created with MySQL 5.0 or earlier,
and they don not want to have the error log flooded with such messages.

This fixes Issue #182.
parent d3a5264f
...@@ -4134,30 +4134,22 @@ btr_check_blob_fil_page_type( ...@@ -4134,30 +4134,22 @@ btr_check_blob_fil_page_type(
if (UNIV_UNLIKELY(type != FIL_PAGE_TYPE_BLOB)) { if (UNIV_UNLIKELY(type != FIL_PAGE_TYPE_BLOB)) {
ulint flags = fil_space_get_flags(space_id); ulint flags = fil_space_get_flags(space_id);
if (read if (UNIV_LIKELY
&& (flags & DICT_TF_FORMAT_MASK) == DICT_TF_FORMAT_51) { ((flags & DICT_TF_FORMAT_MASK) == DICT_TF_FORMAT_51)) {
/* Do not print anything about the type /* Old versions of InnoDB did not initialize
mismatch when reading a BLOB page that is in FIL_PAGE_TYPE on BLOB pages. Do not print
Antelope format. */ anything about the type mismatch when reading
a BLOB page that is in Antelope format.*/
return; return;
} }
/* Old versions of InnoDB did not
initialize FIL_PAGE_TYPE on BLOB pages.
Ensure that this tablespace is in
an old format. */
ut_print_timestamp(stderr); ut_print_timestamp(stderr);
fprintf(stderr, fprintf(stderr,
" InnoDB: FIL_PAGE_TYPE=%lu" " InnoDB: FIL_PAGE_TYPE=%lu"
" on BLOB %s space %lu page %lu flags %lx\n", " on BLOB %s space %lu page %lu flags %lx\n",
(ulong) type, read ? "read" : "purge", (ulong) type, read ? "read" : "purge",
(ulong) space_id, (ulong) page_no, (ulong) flags); (ulong) space_id, (ulong) page_no, (ulong) flags);
ut_error;
/* The garbage in FIL_PAGE_TYPE will
only be tolerated in tables in old
format. */
ut_a((flags & DICT_TF_FORMAT_MASK) == DICT_TF_FORMAT_51);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment