Fix for bug #14290: wrong CHARACTER_MAXIMUM_LENGTH value for some text fields.
sql/sql_show.cc: Fix for bug #14290: wrong CHARACTER_MAXIMUM_LENGTH value for some text fields. adjust CHARACTER_MAXIMUM_LENGTH value for text fields.
This commit is contained in:
parent
abd77bc563
commit
48765db2e5
@ -1025,3 +1025,11 @@ select 1 from (select 1 from test.t1) a;
|
||||
1
|
||||
use test;
|
||||
drop table t1;
|
||||
create table t1(a blob, b text charset utf8, c text charset ucs2);
|
||||
select data_type, character_octet_length, character_maximum_length
|
||||
from information_schema.columns where table_name='t1';
|
||||
data_type character_octet_length character_maximum_length
|
||||
blob 65535 65535
|
||||
text 65535 65535
|
||||
text 65535 32767
|
||||
drop table t1;
|
||||
|
@ -727,3 +727,12 @@ use information_schema;
|
||||
select 1 from (select 1 from test.t1) a;
|
||||
use test;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #14290: character_maximum_length for text fields
|
||||
#
|
||||
|
||||
create table t1(a blob, b text charset utf8, c text charset ucs2);
|
||||
select data_type, character_octet_length, character_maximum_length
|
||||
from information_schema.columns where table_name='t1';
|
||||
drop table t1;
|
||||
|
@ -2559,8 +2559,9 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
|
||||
is_blob= (field->type() == FIELD_TYPE_BLOB);
|
||||
if (field->has_charset() || is_blob)
|
||||
{
|
||||
longlong char_max_len= is_blob ? (longlong) field->max_length() :
|
||||
(longlong) field->max_length()/field->charset()->mbmaxlen;
|
||||
longlong char_max_len= is_blob ?
|
||||
(longlong) field->max_length() / field->charset()->mbminlen :
|
||||
(longlong) field->max_length() / field->charset()->mbmaxlen;
|
||||
table->field[8]->store(char_max_len, TRUE);
|
||||
table->field[8]->set_notnull();
|
||||
table->field[9]->store((longlong) field->max_length(), TRUE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user