summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2004-08-13 19:06:24 +0500
committerunknown <bar@mysql.com>2004-08-13 19:06:24 +0500
commit467f5956ebc178d71ed8cd1727e915ba8a047920 (patch)
treec63eb883070d6c7bab7fe9d47dc2e71bfd546aed /sql/field.cc
parente2cfe7b60771610aff0d287ad243249099f4f629 (diff)
downloadmariadb-git-467f5956ebc178d71ed8cd1727e915ba8a047920.tar.gz
CSC issue # 3299 fix:
ENUM and SET type didn't compute their length correctly. That showed up for example while converting into a CHAR column.
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 8fba132738c..af9ad110f0e 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -5667,6 +5667,10 @@ void create_field::create_length_to_internal_length(void)
pack_length= calc_pack_length(sql_type == FIELD_TYPE_VAR_STRING ?
FIELD_TYPE_STRING : sql_type, length);
break;
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+ length*= charset->mbmaxlen;
+ break;
default:
/* do nothing */
break;