summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorunknown <gluh@eagle.intranet.mysql.r18.ru>2005-04-04 12:12:50 +0500
committerunknown <gluh@eagle.intranet.mysql.r18.ru>2005-04-04 12:12:50 +0500
commit042a3ced2833b48eb4f491b10351b3f64587e729 (patch)
tree17e6425f737ba15c2e8c3904e041840382becf97 /sql/sql_show.cc
parente1afce06bdd425b34ff3192da5f61a8690da53ba (diff)
parent77d568597fb0c2a50ebdd9c341a2c89138f2ec5a (diff)
downloadmariadb-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.cc30
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},