diff options
author | unknown <bar@mysql.com> | 2006-01-12 16:05:46 +0400 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-01-12 16:05:46 +0400 |
commit | 46fdcba4f13ad54cb617dd3a649ee02f64bb8652 (patch) | |
tree | c3c167b7cf715eec7f84b682927dae259b75091b /sql/sql_show.cc | |
parent | cd1f75e9cb3aeb61c31a739db515065bbe6f4df4 (diff) | |
download | mariadb-git-46fdcba4f13ad54cb617dd3a649ee02f64bb8652.tar.gz |
sql_show.cc:
after-merge fix for
bug#15581 COALESCE function truncates mutli-byte TINYTEXT values
sql/sql_show.cc:
after-merge fix for bug#15581 COALESCE function truncates mutli-byte TINYTEXT values
,
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index d15df686e40..59008b1b77f 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2623,12 +2623,15 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables, field->real_type() == MYSQL_TYPE_VARCHAR || // For varbinary type field->real_type() == MYSQL_TYPE_STRING) // For binary type { + uint32 octet_max_length= field->max_length(); + if (octet_max_length != (uint32) 4294967295U) + octet_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; + (longlong) octet_max_length / field->charset()->mbminlen : + (longlong) octet_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); + table->field[9]->store((longlong) octet_max_length, TRUE); table->field[9]->set_notnull(); } |