summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <gshchepa/uchum@host.loc>2008-05-13 00:32:43 +0500
committerunknown <gshchepa/uchum@host.loc>2008-05-13 00:32:43 +0500
commitef4b6200acb0e7a4cc129d91d5c906dc316ab5a7 (patch)
tree6c7f2470029dd6998a8401c22e1b1c31cc278ef6 /sql
parentab6e91cf3af9ef3d69e80420eef1ada05d66b9f7 (diff)
parente7e49eb69ee6ca949d8f885505da572bb1d394c4 (diff)
downloadmariadb-git-ef4b6200acb0e7a4cc129d91d5c906dc316ab5a7.tar.gz
Merge host.loc:/work/bugs/5.0-bugteam-36055
into host.loc:/work/bk/5.0-bugteam
Diffstat (limited to 'sql')
-rw-r--r--sql/handler.cc2
-rw-r--r--sql/sql_table.cc7
2 files changed, 9 insertions, 0 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index bfad10f986f..40b85a0901c 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -1980,6 +1980,8 @@ int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt)
}
}
}
+ if (table->s->frm_version != FRM_VER_TRUE_VARCHAR)
+ return HA_ADMIN_NEEDS_ALTER;
return check_for_upgrade(check_opt);
}
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 9e1a8151e3a..f1de63892d5 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -2118,6 +2118,13 @@ static int prepare_for_repair(THD* thd, TABLE_LIST *table_list,
const char **ext= table->file->bas_ext();
MY_STAT stat_info;
+ if (table->s->frm_version != FRM_VER_TRUE_VARCHAR)
+ {
+ error= send_check_errmsg(thd, table_list, "repair",
+ "Failed reparing incompatible .FRM file");
+ goto end;
+ }
+
/*
Check if this is a table type that stores index and data separately,
like ISAM or MyISAM. We assume fixed order of engine file name