From 46d472d636a0b33dfffb77b8b61eead94e285839 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Jul 2005 14:44:28 +0200 Subject: [PATCH] BUG#11635 mysqldump exports TYPE instead of USING for HASH Cluster indexes - Change output from SHOW CREATE TABLE to use USING instead of TYPE mysql-test/r/ctype_utf8.result: Update test results mysql-test/r/show_check.result: Update test results mysql-test/r/sql_mode.result: Update test results mysql-test/t/show_check.test: Add test for BUG#11635 sql/sql_show.cc: Change TYPE to USING as output from SHOW CREATE TABLE --- mysql-test/r/ctype_utf8.result | 8 ++++---- mysql-test/r/show_check.result | 25 ++++++++++++++++++++----- mysql-test/r/sql_mode.result | 6 +++--- mysql-test/t/show_check.test | 9 +++++++++ sql/sql_show.cc | 6 +++--- 5 files changed, 39 insertions(+), 15 deletions(-) diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result index 3a8265b01f7..d4e12ea84b7 100644 --- a/mysql-test/r/ctype_utf8.result +++ b/mysql-test/r/ctype_utf8.result @@ -412,7 +412,7 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(10) character set utf8 default NULL, - UNIQUE KEY `a` TYPE HASH (`c`(1)) + UNIQUE KEY `a` USING HASH (`c`(1)) ) ENGINE=HEAP DEFAULT CHARSET=latin1 insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f'); insert into t1 values ('aa'); @@ -448,7 +448,7 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(10) character set utf8 default NULL, - UNIQUE KEY `a` TYPE BTREE (`c`(1)) + UNIQUE KEY `a` USING BTREE (`c`(1)) ) ENGINE=HEAP DEFAULT CHARSET=latin1 insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f'); insert into t1 values ('aa'); @@ -570,7 +570,7 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(10) character set utf8 collate utf8_bin default NULL, - UNIQUE KEY `a` TYPE HASH (`c`(1)) + UNIQUE KEY `a` USING HASH (`c`(1)) ) ENGINE=HEAP DEFAULT CHARSET=latin1 insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f'); insert into t1 values ('aa'); @@ -606,7 +606,7 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c` char(10) character set utf8 collate utf8_bin default NULL, - UNIQUE KEY `a` TYPE BTREE (`c`(1)) + UNIQUE KEY `a` USING BTREE (`c`(1)) ) ENGINE=HEAP DEFAULT CHARSET=latin1 insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f'); insert into t1 values ('aa'); diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index 4a9e28e9ea4..1e5e8f442a8 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -420,7 +420,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL, - KEY `i` TYPE HASH (`i`) + KEY `i` USING HASH (`i`) ) ENGINE=HEAP DEFAULT CHARSET=latin1 DROP TABLE t1; CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MEMORY; @@ -428,7 +428,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL, - KEY `i` TYPE BTREE (`i`) + KEY `i` USING BTREE (`i`) ) ENGINE=HEAP DEFAULT CHARSET=latin1 DROP TABLE t1; CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM; @@ -444,7 +444,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL, - KEY `i` TYPE BTREE (`i`) + KEY `i` USING BTREE (`i`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM; @@ -467,14 +467,14 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL, - KEY `i` TYPE BTREE (`i`) + KEY `i` USING BTREE (`i`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ALTER TABLE t1 ENGINE=MEMORY; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL, - KEY `i` TYPE BTREE (`i`) + KEY `i` USING BTREE (`i`) ) ENGINE=HEAP DEFAULT CHARSET=latin1 DROP TABLE t1; CREATE TABLE t1( @@ -498,3 +498,18 @@ def Comment 253 255 0 N 129 31 63 Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 0 PRIMARY 1 field1 A 0 1000 NULL BTREE drop table t1; +create table t1 ( +c1 int NOT NULL, +c2 int NOT NULL, +PRIMARY KEY USING HASH (c1), +INDEX USING BTREE(c2) +); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL default '0', + `c2` int(11) NOT NULL default '0', + PRIMARY KEY USING HASH (`c1`), + KEY `c2` USING BTREE (`c2`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1; diff --git a/mysql-test/r/sql_mode.result b/mysql-test/r/sql_mode.result index 652913d1fdb..4e1693e15ec 100644 --- a/mysql-test/r/sql_mode.result +++ b/mysql-test/r/sql_mode.result @@ -17,7 +17,7 @@ t1 CREATE TABLE `t1` ( `pseudo` varchar(35) character set latin2 NOT NULL default '', `email` varchar(60) character set latin2 NOT NULL default '', PRIMARY KEY (`a`), - UNIQUE KEY `email` TYPE BTREE (`email`) + UNIQUE KEY `email` USING BTREE (`email`) ) ENGINE=HEAP DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC set @@sql_mode="ansi_quotes"; show variables like 'sql_mode'; @@ -30,7 +30,7 @@ t1 CREATE TABLE "t1" ( "pseudo" varchar(35) character set latin2 NOT NULL default '', "email" varchar(60) character set latin2 NOT NULL default '', PRIMARY KEY ("a"), - UNIQUE KEY "email" TYPE BTREE ("email") + UNIQUE KEY "email" USING BTREE ("email") ) ENGINE=HEAP DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC set @@sql_mode="no_table_options"; show variables like 'sql_mode'; @@ -43,7 +43,7 @@ t1 CREATE TABLE `t1` ( `pseudo` varchar(35) character set latin2 NOT NULL default '', `email` varchar(60) character set latin2 NOT NULL default '', PRIMARY KEY (`a`), - UNIQUE KEY `email` TYPE BTREE (`email`) + UNIQUE KEY `email` USING BTREE (`email`) ) set @@sql_mode="no_key_options"; show variables like 'sql_mode'; diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index f80e720275a..76691ad79b1 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -368,3 +368,12 @@ show index from t1; --disable_metadata drop table t1; +# Test for BUG#11635: mysqldump exports TYPE instead of USING for HASH +create table t1 ( + c1 int NOT NULL, + c2 int NOT NULL, + PRIMARY KEY USING HASH (c1), + INDEX USING BTREE(c2) +); +SHOW CREATE TABLE t1; +DROP TABLE t1; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 7e0ee0dab68..636c88847eb 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1414,15 +1414,15 @@ store_create_info(THD *thd, TABLE *table, String *packet) !limited_mysql_mode && !foreign_db_mode) { if (key_info->algorithm == HA_KEY_ALG_BTREE) - packet->append(" TYPE BTREE", 11); + packet->append(" USING BTREE", 12); if (key_info->algorithm == HA_KEY_ALG_HASH) - packet->append(" TYPE HASH", 10); + packet->append(" USING HASH", 11); // +BAR: send USING only in non-default case: non-spatial rtree if ((key_info->algorithm == HA_KEY_ALG_RTREE) && !(key_info->flags & HA_SPATIAL)) - packet->append(" TYPE RTREE", 11); + packet->append(" USING RTREE", 12); // No need to send TYPE FULLTEXT, it is sent as FULLTEXT KEY }