mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
This commit is contained in:
commit
a5186d0595
2 changed files with 28 additions and 0 deletions
|
@ -81,6 +81,17 @@ dict_create_sys_tables_tuple(
|
|||
|
||||
dfield_set_data(dfield, ptr, 8);
|
||||
/* 7: MIX_LEN --------------------------*/
|
||||
|
||||
/* Track corruption reported on mailing list Jan 14, 2005 */
|
||||
if (table->mix_len != 0 && table->mix_len != 0x80000000) {
|
||||
fprintf(stderr,
|
||||
"InnoDB: Error: mix_len is %lu in table %s\n", (ulong)table->mix_len,
|
||||
table->name);
|
||||
mem_analyze_corruption((byte*)&(table->mix_len));
|
||||
|
||||
ut_error;
|
||||
}
|
||||
|
||||
dfield = dtuple_get_nth_field(entry, 5);
|
||||
|
||||
ptr = mem_heap_alloc(heap, 4);
|
||||
|
|
|
@ -729,6 +729,7 @@ dict_load_table(
|
|||
ulint space;
|
||||
ulint n_cols;
|
||||
ulint err;
|
||||
ulint mix_len;
|
||||
mtr_t mtr;
|
||||
|
||||
#ifdef UNIV_SYNC_DEBUG
|
||||
|
@ -775,6 +776,22 @@ dict_load_table(
|
|||
return(NULL);
|
||||
}
|
||||
|
||||
/* Track a corruption bug reported on the MySQL mailing list Jan 14,
|
||||
2005: mix_len had a value different from 0 */
|
||||
|
||||
field = rec_get_nth_field(rec, 7, &len);
|
||||
ut_a(len == 4);
|
||||
|
||||
mix_len = mach_read_from_4(field);
|
||||
|
||||
if (mix_len != 0 && mix_len != 0x80000000) {
|
||||
ut_print_timestamp(stderr);
|
||||
|
||||
fprintf(stderr,
|
||||
" InnoDB: table %s has a nonsensical mix len %lu\n",
|
||||
name, (ulong)mix_len);
|
||||
}
|
||||
|
||||
#if MYSQL_VERSION_ID < 50300
|
||||
/* Starting from MySQL 5.0.3, the high-order bit of MIX_LEN is the
|
||||
"compact format" flag. */
|
||||
|
|
Loading…
Add table
Reference in a new issue