Commit f40f838f authored by unknown's avatar unknown
Browse files

dict0load.c:

  dict_load_table(): detect the new table format of MySQL 5.0.3


innobase/dict/dict0load.c:
  dict_load_table(): detect the new table format of MySQL 5.0.3
parent b18e8c92
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -647,6 +647,22 @@ dict_load_table(
		return(NULL);
	}

#if MYSQL_VERSION_ID < 50300
	/* Starting from MySQL 5.0.3, the high-order bit of MIX_LEN is the
	"compact format" flag. */
	field = rec_get_nth_field(rec, 7, &len);
	if (mach_read_from_1(field) & 0x80) {
		btr_pcur_close(&pcur);
		mtr_commit(&mtr);
		mem_heap_free(heap);
		ut_print_timestamp(stderr);
		fprintf(stderr,
			"  InnoDB: table %s is in the new compact format\n"
			"InnoDB: of MySQL 5.0.3 or later\n", name);
		return(NULL);
	}
#endif /* MYSQL_VERSION_ID < 50300 */

	ut_a(0 == ut_strcmp((char *) "SPACE",
		dict_field_get_col(
		dict_index_get_nth_field(