diff options
author | unknown <gluh@eagle.intranet.mysql.r18.ru> | 2005-04-04 12:12:50 +0500 |
---|---|---|
committer | unknown <gluh@eagle.intranet.mysql.r18.ru> | 2005-04-04 12:12:50 +0500 |
commit | 042a3ced2833b48eb4f491b10351b3f64587e729 (patch) | |
tree | 17e6425f737ba15c2e8c3904e041840382becf97 /sql/sql_show.cc | |
parent | e1afce06bdd425b34ff3192da5f61a8690da53ba (diff) | |
parent | 77d568597fb0c2a50ebdd9c341a2c89138f2ec5a (diff) | |
download | mariadb-git-042a3ced2833b48eb4f491b10351b3f64587e729.tar.gz |
Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into eagle.intranet.mysql.r18.ru:/home/gluh/MySQL/Bugs/mysql-5.0.9344
BitKeeper/etc/logging_ok:
auto-union
sql/sql_show.cc:
Auto merged
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 263f907f277..8280d865ec0 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2334,12 +2334,26 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables, "NO" : "YES"); table->field[6]->store((const char*) pos, strlen((const char*) pos), cs); - if (field->has_charset()) - table->field[8]->store((longlong) field->representation_length()/ - field->charset()->mbmaxlen); - else - table->field[8]->store((longlong) field->representation_length()); - table->field[9]->store((longlong) field->representation_length()); + + switch (field->type()) { + case FIELD_TYPE_TINY_BLOB: + case FIELD_TYPE_MEDIUM_BLOB: + case FIELD_TYPE_LONG_BLOB: + case FIELD_TYPE_BLOB: + case FIELD_TYPE_VAR_STRING: + case FIELD_TYPE_STRING: + if (field->has_charset()) + table->field[8]->store((longlong) field->representation_length()/ + field->charset()->mbmaxlen); + else + table->field[8]->store((longlong) field->representation_length()); + table->field[8]->set_notnull(); + table->field[9]->store((longlong) field->representation_length()); + table->field[9]->set_notnull(); + break; + default: + break; + } { uint dec =field->decimals(); @@ -3515,8 +3529,8 @@ ST_FIELD_INFO columns_fields_info[]= {"COLUMN_DEFAULT", NAME_LEN, MYSQL_TYPE_STRING, 0, 1, "Default"}, {"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"}, {"DATA_TYPE", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, - {"CHARACTER_MAXIMUM_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"CHARACTER_OCTET_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, + {"CHARACTER_MAXIMUM_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, + {"CHARACTER_OCTET_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, {"NUMERIC_PRECISION", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, {"NUMERIC_SCALE", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0}, |