Loading mysql-test/r/create.result +14 −0 Original line number Diff line number Diff line Loading @@ -1532,4 +1532,18 @@ Handler_read_prev 0 Handler_read_rnd 0 Handler_read_rnd_next 7 drop table t1,t2; CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1)); DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE); DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 c1 1 c1 A NULL NULL NULL YES BTREE DROP TABLE t1; End of 5.0 tests mysql-test/t/create.test +24 −0 Original line number Diff line number Diff line Loading @@ -1148,4 +1148,28 @@ create table t2 select sql_big_result f1,count(f2) from t1 group by f1; show status like 'handler_read%'; drop table t1,t2; # # Bug #25162: Backing up DB from 5.1 adds 'USING BTREE' to KEYs on table creates # # Show that the old syntax for index type is supported CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1)); DROP TABLE t1; # Show that the new syntax for index type is supported CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE); DROP TABLE t1; # Show that in case of multiple index type definitions, the last one takes # precedence CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY; SHOW INDEX FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY; SHOW INDEX FROM t1; DROP TABLE t1; --echo End of 5.0 tests sql/sql_yacc.yy +3 −3 Original line number Diff line number Diff line Loading @@ -2982,15 +2982,15 @@ column_def: ; key_def: key_type opt_ident key_alg '(' key_list ')' key_type opt_ident key_alg '(' key_list ')' key_alg { LEX *lex=Lex; Key *key= new Key($1, $2, $3, 0, lex->col_list); Key *key= new Key($1, $2, $7 ? $7 : $3, 0, lex->col_list); lex->alter_info.key_list.push_back(key); lex->col_list.empty(); /* Alloced by sql_alloc */ } | opt_constraint constraint_key_type opt_ident key_alg '(' key_list ')' | opt_constraint constraint_key_type opt_ident key_alg '(' key_list ')' key_alg { LEX *lex=Lex; const char *key_name= $3 ? $3:$1; Loading Loading
mysql-test/r/create.result +14 −0 Original line number Diff line number Diff line Loading @@ -1532,4 +1532,18 @@ Handler_read_prev 0 Handler_read_rnd 0 Handler_read_rnd_next 7 drop table t1,t2; CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1)); DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE); DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 c1 1 c1 A NULL NULL NULL YES BTREE DROP TABLE t1; End of 5.0 tests
mysql-test/t/create.test +24 −0 Original line number Diff line number Diff line Loading @@ -1148,4 +1148,28 @@ create table t2 select sql_big_result f1,count(f2) from t1 group by f1; show status like 'handler_read%'; drop table t1,t2; # # Bug #25162: Backing up DB from 5.1 adds 'USING BTREE' to KEYs on table creates # # Show that the old syntax for index type is supported CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1)); DROP TABLE t1; # Show that the new syntax for index type is supported CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE); DROP TABLE t1; # Show that in case of multiple index type definitions, the last one takes # precedence CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY; SHOW INDEX FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY; SHOW INDEX FROM t1; DROP TABLE t1; --echo End of 5.0 tests
sql/sql_yacc.yy +3 −3 Original line number Diff line number Diff line Loading @@ -2982,15 +2982,15 @@ column_def: ; key_def: key_type opt_ident key_alg '(' key_list ')' key_type opt_ident key_alg '(' key_list ')' key_alg { LEX *lex=Lex; Key *key= new Key($1, $2, $3, 0, lex->col_list); Key *key= new Key($1, $2, $7 ? $7 : $3, 0, lex->col_list); lex->alter_info.key_list.push_back(key); lex->col_list.empty(); /* Alloced by sql_alloc */ } | opt_constraint constraint_key_type opt_ident key_alg '(' key_list ')' | opt_constraint constraint_key_type opt_ident key_alg '(' key_list ')' key_alg { LEX *lex=Lex; const char *key_name= $3 ? $3:$1; Loading