summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorunknown <ramil@mysql.com>2005-04-14 14:32:25 +0500
committerunknown <ramil@mysql.com>2005-04-14 14:32:25 +0500
commit27b2b1fad3993d8b740d7a08cce34c493dc07139 (patch)
tree61fc317c0336a71118ecd4b929bdf84c02d11972 /sql/field.cc
parent8487a67bf3191c23b7d1cfb4fcadd1c57b95435b (diff)
downloadmariadb-git-27b2b1fad3993d8b740d7a08cce34c493dc07139.tar.gz
Bit type: fix for create_field::create_field().
sql/field.cc: Bit type: fix for create_field::create_field(). We should return saved length in case of Field_bit_as_char.
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc
index ea551f410b7..00f729d5b07 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -8358,7 +8358,9 @@ create_field::create_field(Field *old_field,Field *orig_field)
break;
#endif
case FIELD_TYPE_BIT:
- length= ((Field_bit *) old_field)->bit_len + length * 8;
+ length= (old_field->key_type() == HA_KEYTYPE_BIT) ?
+ ((Field_bit *) old_field)->bit_len + length * 8 :
+ ((Field_bit_as_char *) old_field)->create_length;
break;
default:
break;