summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-09-18 09:09:27 +0200
committerSergei Golubchik <sergii@pisem.net>2013-09-18 09:09:27 +0200
commita5d7e701196052f4a6605f465953098eba37a7aa (patch)
tree9c91881a3963fe49277e12167a9e6895f2c368f2 /mysql-test
parent68df7a0137f15ffe57e4dec0adeeb3989930acf2 (diff)
downloadmariadb-git-a5d7e701196052f4a6605f465953098eba37a7aa.tar.gz
MDEV-5029 Crash in MariaDB 5.5.33 with .frm from older MariaDB release
don't set TABLE_SHARE::keys before TABLE_SHARE::key_info is set, otherwise an error might leave only the first property set and it will confuse TABLE_SHARE::destroy()
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/bad_frm_crash_5029.result2
-rw-r--r--mysql-test/std_data/mdev5029.frmbin0 -> 8602 bytes
-rw-r--r--mysql-test/t/bad_frm_crash_5029.test11
3 files changed, 13 insertions, 0 deletions
diff --git a/mysql-test/r/bad_frm_crash_5029.result b/mysql-test/r/bad_frm_crash_5029.result
new file mode 100644
index 00000000000..7a829c8f6ba
--- /dev/null
+++ b/mysql-test/r/bad_frm_crash_5029.result
@@ -0,0 +1,2 @@
+show create table t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
diff --git a/mysql-test/std_data/mdev5029.frm b/mysql-test/std_data/mdev5029.frm
new file mode 100644
index 00000000000..de169a20953
--- /dev/null
+++ b/mysql-test/std_data/mdev5029.frm
Binary files differ
diff --git a/mysql-test/t/bad_frm_crash_5029.test b/mysql-test/t/bad_frm_crash_5029.test
new file mode 100644
index 00000000000..b15c37fbc6d
--- /dev/null
+++ b/mysql-test/t/bad_frm_crash_5029.test
@@ -0,0 +1,11 @@
+#
+# MDEV-5029 Crash in MariaDB 5.5.33 with .frm from older MariaDB release
+#
+# a.k.a. fail to open an frm with indexes:
+
+let $datadir=`select @@datadir`;
+copy_file std_data/mdev5029.frm $datadir/test/t1.frm;
+--error ER_UNKNOWN_STORAGE_ENGINE
+show create table t1;
+remove_file $datadir/test/t1.frm;
+