diff options
author | unknown <sergefp@mysql.com> | 2005-04-17 20:56:36 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2005-04-17 20:56:36 +0400 |
commit | a604085182b2a51e76b71f9c09a1270bc158abad (patch) | |
tree | ac53150c2a8a45665166046c692e4386ec633124 | |
parent | b9474d86101c2f1d0160751e58cb96f9c00de624 (diff) | |
parent | e08b1b4c83c792bf4c913b128eeaf05a75aabb7d (diff) | |
download | mariadb-git-a604085182b2a51e76b71f9c09a1270bc158abad.tar.gz |
Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug9439
-rw-r--r-- | mysql-test/r/show_check.result | 21 | ||||
-rw-r--r-- | mysql-test/t/show_check.test | 11 | ||||
-rw-r--r-- | sql/sql_show.cc | 4 |
3 files changed, 34 insertions, 2 deletions
diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index 0d580ae2505..4a9e28e9ea4 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -477,3 +477,24 @@ t1 CREATE TABLE `t1` ( KEY `i` TYPE BTREE (`i`) ) ENGINE=HEAP DEFAULT CHARSET=latin1 DROP TABLE t1; +CREATE TABLE t1( +field1 text NOT NULL, +PRIMARY KEY(field1(1000)) +); +show index from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def Table 253 64 2 N 129 31 63 +def Non_unique 1 1 1 N 32929 0 63 +def Key_name 253 64 7 N 129 31 63 +def Seq_in_index 1 2 1 N 32929 0 63 +def Column_name 253 64 6 N 129 31 63 +def Collation 253 1 1 Y 128 31 63 +def Cardinality 8 21 1 Y 32896 0 63 +def Sub_part 2 3 4 Y 32928 0 63 +def Packed 253 10 0 Y 128 31 63 +def Null 253 3 0 N 129 31 63 +def Index_type 253 16 5 N 129 31 63 +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; diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index 0cf1476b24c..f80e720275a 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -357,3 +357,14 @@ SHOW CREATE TABLE t1; ALTER TABLE t1 ENGINE=MEMORY; SHOW CREATE TABLE t1; DROP TABLE t1; + +# Test for BUG#9439 "Reporting wrong datatype for sub_part on show index" +CREATE TABLE t1( + field1 text NOT NULL, + PRIMARY KEY(field1(1000)) +); +--enable_metadata +show index from t1; +--disable_metadata +drop table t1; + diff --git a/sql/sql_show.cc b/sql/sql_show.cc index f979b3ca771..7e0ee0dab68 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -980,7 +980,7 @@ mysqld_show_keys(THD *thd, TABLE_LIST *table_list) field_list.push_back(item=new Item_int("Cardinality",0,21)); item->maybe_null=1; field_list.push_back(item=new Item_return_int("Sub_part",3, - MYSQL_TYPE_TINY)); + MYSQL_TYPE_SHORT)); item->maybe_null=1; field_list.push_back(item=new Item_empty_string("Packed",10)); item->maybe_null=1; @@ -1025,7 +1025,7 @@ mysqld_show_keys(THD *thd, TABLE_LIST *table_list) /* Check if we have a key part that only uses part of the field */ if (!(key_info->flags & HA_FULLTEXT) && (!key_part->field || key_part->length != table->field[key_part->fieldnr-1]->key_length())) - protocol->store_tiny((longlong) key_part->length / + protocol->store_short((longlong) key_part->length / key_part->field->charset()->mbmaxlen); else protocol->store_null(); |