diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-06-15 16:02:43 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-06-15 16:02:43 +0200 |
commit | 10be9160c14f3bd488578ed64304a10d27b7b122 (patch) | |
tree | 19ce475db347619718db3834b30c35f1e966cfeb /sql/table.cc | |
parent | 04aeaaa04fe4a39c878904e1a0d33b245b7e4541 (diff) | |
download | mariadb-git-10be9160c14f3bd488578ed64304a10d27b7b122.tar.gz |
MDEV-4466 Partitioned Aria table created by a previous version is recognized as TEST_SQL_DISCOVERY
Partitioning didn't store the name of default storage engine for partitions
in the frm file - it only store the typecode. Typecodes aren't stable, and
might vary depending on the order in which storage engines are loaded (can
be changed even from my.cnf without recompilation).
As a temporary workaround for 5.5, we hard-code Aria's typecode, to make sure it
never changes.
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/table.cc b/sql/table.cc index 77e251729c7..31c645ed3ce 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -802,6 +802,11 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, share->frm_version= FRM_VER_TRUE_VARCHAR; #ifdef WITH_PARTITION_STORAGE_ENGINE + /* + Yuck! Double-bad. Doesn't work with dynamic engine codes. + And doesn't lock the plugin. Fixed in 10.0.4 + */ + compile_time_assert(MYSQL_VERSION_ID < 100000); if (*(head+61) && !(share->default_part_db_type= ha_checktype(thd, (enum legacy_db_type) (uint) *(head+61), 1, 0))) |