summaryrefslogtreecommitdiff
path: root/mysql-test/t/innodb_ext_key.test
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2012-01-29 14:35:30 -0800
committerIgor Babaev <igor@askmonty.org>2012-01-29 14:35:30 -0800
commit56e1a6936bcdebb8fe672ea040235bfa9867e10e (patch)
tree6264a9c1c513d51eb9a071d523fd3eaf217964ff /mysql-test/t/innodb_ext_key.test
parent51847a0fba6c1072b58e641cffc028838272c9ec (diff)
downloadmariadb-git-56e1a6936bcdebb8fe672ea040235bfa9867e10e.tar.gz
Fixed LP bug #923236.
When working on MWL#247 I forgot to adjust the function create_hj_key_for_table() that created a key definition for hash join keys. The modified function must set the values of the fields ext_key_parts, ext_key_flags, ext_key_part_map added to the key definition structure in MWL#247.
Diffstat (limited to 'mysql-test/t/innodb_ext_key.test')
-rw-r--r--mysql-test/t/innodb_ext_key.test26
1 files changed, 26 insertions, 0 deletions
diff --git a/mysql-test/t/innodb_ext_key.test b/mysql-test/t/innodb_ext_key.test
index 8175c60b381..58d692f720d 100644
--- a/mysql-test/t/innodb_ext_key.test
+++ b/mysql-test/t/innodb_ext_key.test
@@ -381,5 +381,31 @@ set optimizer_switch=@save_optimizer_switch;
DROP TABLE t1,t2;
+--echo #
+--echo # LP Bug #923236: hash join + extended_keys = on
+--echo #
+
+CREATE TABLE t1 (a int) ENGINE=MyISAM;
+
+CREATE TABLE t2 (b int) ENGINE=MyISAM;
+
+INSERT INTO t1 (a) VALUES (4), (6);
+INSERT INTO t2 (b) VALUES (0), (8);
+
+set @save_optimizer_switch=@@optimizer_switch;
+
+SET join_cache_level=3;
+SET optimizer_switch='join_cache_hashed=on';
+SET optimizer_switch='join_cache_bka=on';
+SET optimizer_switch='extended_keys=on';
+
+EXPLAIN
+SELECT * FROM t1, t2 WHERE b=a;
+SELECT * FROM t1, t2 WHERE b=a;
+
+set optimizer_switch=@save_optimizer_switch;
+
+DROP TABLE t1,t2;
+
set optimizer_switch=@save_ext_key_optimizer_switch;
SET SESSION STORAGE_ENGINE=DEFAULT;