summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_plugin/t/innodb_bug47622.test
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2010-05-26 21:55:40 +0300
committerMichael Widenius <monty@askmonty.org>2010-05-26 21:55:40 +0300
commit4aa9d903c11554cc4887eeffe7f0592c52e8bc99 (patch)
treeaf3f0dfb833c3c4aabaa69ce50cfb64202ecd479 /mysql-test/suite/innodb_plugin/t/innodb_bug47622.test
parent9febcb4776e563a93eb8fff247174b0e2eb2ae0b (diff)
parentaf6d89a6aa9feb3545de068f461cf91bfb281dd2 (diff)
downloadmariadb-git-4aa9d903c11554cc4887eeffe7f0592c52e8bc99.tar.gz
Merge with MySQL 5.1.47
Fixed some bugs introduced in 5.1.47 Disabled some tests until we have merged with latest Xtradb configure.in: Added testing if valgrind/memcheck.h exists storage/pbxt/src/ha_pbxt.cc: LOCK_plugin is not anymore locked in init
Diffstat (limited to 'mysql-test/suite/innodb_plugin/t/innodb_bug47622.test')
-rw-r--r--mysql-test/suite/innodb_plugin/t/innodb_bug47622.test55
1 files changed, 55 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb_plugin/t/innodb_bug47622.test b/mysql-test/suite/innodb_plugin/t/innodb_bug47622.test
new file mode 100644
index 00000000000..ec544bd7962
--- /dev/null
+++ b/mysql-test/suite/innodb_plugin/t/innodb_bug47622.test
@@ -0,0 +1,55 @@
+# This is the test for bug 47622. There could be index
+# metadata sequence mismatch between MySQL and Innodb
+# after creating index through FIC interfaces.
+# We resolve the problem by sync the index sequence
+# up when opening the table.
+
+-- source include/have_innodb_plugin.inc
+
+connect (a,localhost,root,,);
+connect (b,localhost,root,,);
+
+# Create a table with a non-unique index
+CREATE TABLE bug47622(
+ `rule_key` int(11) NOT NULL DEFAULT '0',
+ `seq` smallint(6) NOT NULL DEFAULT '0',
+ `action` smallint(6) NOT NULL DEFAULT '0',
+ `arg_id` smallint(6) DEFAULT NULL,
+ `else_ind` TINYINT NOT NULL,
+ KEY IDX_A (`arg_id`)
+) ENGINE=InnoDB;
+
+connection a;
+
+# A subsequent creating unique index should not trigger
+# any error message. Unique index would be ranked ahead
+# of regular index.
+ALTER TABLE bug47622 ADD UNIQUE IDX_B (rule_key,else_ind,seq,action,arg_id);
+
+drop index IDX_B on bug47622;
+
+# In another connection, create additional set of normal
+# index and unique index. Again, unique index would be ranked
+# ahead of regular index.
+connection b;
+create index idx on bug47622(seq, arg_id);
+
+ALTER TABLE bug47622 ADD UNIQUE IDX_X (rule_key,else_ind,seq,action);
+
+drop table bug47622;
+
+# Create a table with one Primary key and a non-unique key
+CREATE TABLE bug47622 (
+ `a` int(11) NOT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `d` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB;
+
+# Add two index with one unique and one non-unique.
+# Index sequence is "PRIMARY", "c", "b" and "d"
+alter table bug47622 add unique index (c), add index (d);
+
+drop table bug47622;