summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorserg@serg.mylan <>2004-01-19 14:22:38 +0100
committerserg@serg.mylan <>2004-01-19 14:22:38 +0100
commitcf80041e09492157d19c0fd7c489bb34a9505748 (patch)
treef2ee6da6d2d7bcca5c3af0d8b4d158a1aa7095bd /sql/field.cc
parentca8929a1fb4c8a2b8f12837cbbc05d3ef65fa555 (diff)
downloadmariadb-git-cf80041e09492157d19c0fd7c489bb34a9505748.tar.gz
field length convertion (bytes->chars) should be done with rounding UP.
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 5602231dd9b..1a0716326fe 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -5611,16 +5611,16 @@ create_field::create_field(Field *old_field,Field *orig_field)
case 3: sql_type= FIELD_TYPE_MEDIUM_BLOB; break;
default: sql_type= FIELD_TYPE_LONG_BLOB; break;
}
- length /= charset->mbmaxlen; // QQ: Probably not needed
+ length=(length+charset->mbmaxlen-1)/charset->mbmaxlen; // QQ: Probably not needed
break;
case FIELD_TYPE_STRING:
case FIELD_TYPE_VAR_STRING:
- length /= charset->mbmaxlen;
+ length=(length+charset->mbmaxlen-1)/charset->mbmaxlen;
break;
default:
break;
}
-
+
decimals= old_field->decimals();
if (sql_type == FIELD_TYPE_STRING)
{