mirror of
https://github.com/MariaDB/server.git
synced 2025-07-26 07:02:12 +03:00
Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug9439
This commit is contained in:
@ -477,3 +477,24 @@ t1 CREATE TABLE `t1` (
|
|||||||
KEY `i` TYPE BTREE (`i`)
|
KEY `i` TYPE BTREE (`i`)
|
||||||
) ENGINE=HEAP DEFAULT CHARSET=latin1
|
) ENGINE=HEAP DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
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;
|
||||||
|
@ -357,3 +357,14 @@ SHOW CREATE TABLE t1;
|
|||||||
ALTER TABLE t1 ENGINE=MEMORY;
|
ALTER TABLE t1 ENGINE=MEMORY;
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
DROP 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;
|
||||||
|
|
||||||
|
@ -980,7 +980,7 @@ mysqld_show_keys(THD *thd, TABLE_LIST *table_list)
|
|||||||
field_list.push_back(item=new Item_int("Cardinality",0,21));
|
field_list.push_back(item=new Item_int("Cardinality",0,21));
|
||||||
item->maybe_null=1;
|
item->maybe_null=1;
|
||||||
field_list.push_back(item=new Item_return_int("Sub_part",3,
|
field_list.push_back(item=new Item_return_int("Sub_part",3,
|
||||||
MYSQL_TYPE_TINY));
|
MYSQL_TYPE_SHORT));
|
||||||
item->maybe_null=1;
|
item->maybe_null=1;
|
||||||
field_list.push_back(item=new Item_empty_string("Packed",10));
|
field_list.push_back(item=new Item_empty_string("Packed",10));
|
||||||
item->maybe_null=1;
|
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 */
|
/* Check if we have a key part that only uses part of the field */
|
||||||
if (!(key_info->flags & HA_FULLTEXT) && (!key_part->field ||
|
if (!(key_info->flags & HA_FULLTEXT) && (!key_part->field ||
|
||||||
key_part->length != table->field[key_part->fieldnr-1]->key_length()))
|
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);
|
key_part->field->charset()->mbmaxlen);
|
||||||
else
|
else
|
||||||
protocol->store_null();
|
protocol->store_null();
|
||||||
|
Reference in New Issue
Block a user