summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <marko@hundin.mysql.fi>2005-03-14 12:43:22 +0200
committerunknown <marko@hundin.mysql.fi>2005-03-14 12:43:22 +0200
commit10852be938b545af8a60b5357686d6f695932e89 (patch)
tree39d3cba3d94ae5302cb97c51b21d6e6747ae3b1d /innobase
parent7c90fa7b2cb8131bfcf314c1e25538bd1062fa5d (diff)
downloadmariadb-git-10852be938b545af8a60b5357686d6f695932e89.tar.gz
dict0load.c:
dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. innobase/dict/dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later.
Diffstat (limited to 'innobase')
-rw-r--r--innobase/dict/dict0load.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c
index a4637e09d07..a39ffe37ffd 100644
--- a/innobase/dict/dict0load.c
+++ b/innobase/dict/dict0load.c
@@ -639,7 +639,7 @@ dict_load_table(
/* Check if the table name in record is the searched one */
if (len != ut_strlen(name) || ut_memcmp(name, field, len) != 0) {
-
+ err_exit:
btr_pcur_close(&pcur);
mtr_commit(&mtr);
mem_heap_free(heap);
@@ -662,6 +662,13 @@ dict_load_table(
field = rec_get_nth_field(rec, 4, &len);
n_cols = mach_read_from_4(field);
+ if (n_cols & 0x80000000UL) {
+ 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);
+ goto err_exit;
+ }
table = dict_mem_table_create(name, space, n_cols);