summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authormarko@hundin.mysql.fi <>2005-03-14 12:43:22 +0200
committermarko@hundin.mysql.fi <>2005-03-14 12:43:22 +0200
commitd5c1475db6286cf214693d3bc4f564bfe3278302 (patch)
tree39d3cba3d94ae5302cb97c51b21d6e6747ae3b1d /innobase
parent5d865045c93e3429819c7840cbce0cd587331b17 (diff)
downloadmariadb-git-d5c1475db6286cf214693d3bc4f564bfe3278302.tar.gz
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);