summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <ramil@mysql.com>2005-04-12 23:12:00 +0500
committerunknown <ramil@mysql.com>2005-04-12 23:12:00 +0500
commit923b76f8d1632d1214cb3bae34d0927cb6c2d14c (patch)
tree51c51256cbbc77befebaf0212b43ee38de208c27 /sql/sql_table.cc
parent87e742c18718127ee79b822656c214fedc35a09a (diff)
downloadmariadb-git-923b76f8d1632d1214cb3bae34d0927cb6c2d14c.tar.gz
Bit type: code clean-up.
sql/field.h: Field_bit_as_char::size_of() added - we use it in the ::new_key_field(). sql/sql_table.cc: We have to set pack_flag for bit fields in the mysql_prepare_table() as we use it in the create_length_to_internal_length().
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 66c6f97e0de..8753f62ab89 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -563,9 +563,9 @@ int prepare_create_field(create_field *sql_field,
sql_field->pack_flag=f_settype((uint) sql_field->sql_type);
break;
case FIELD_TYPE_BIT:
- sql_field->pack_flag= f_bit_as_char(sql_field->pack_flag) ?
- FIELDFLAG_NUMBER | FIELDFLAG_TREAT_BIT_AS_CHAR :
- FIELDFLAG_NUMBER;
+ /*
+ We have sql_field->pack_flag already set here, see mysql_prepare_table().
+ */
break;
case FIELD_TYPE_NEWDECIMAL:
sql_field->pack_flag=(FIELDFLAG_NUMBER |
@@ -773,6 +773,7 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
if (sql_field->sql_type == FIELD_TYPE_BIT)
{
+ sql_field->pack_flag= FIELDFLAG_NUMBER;
if (file->table_flags() & HA_CAN_BIT_FIELD)
total_uneven_bit_length+= sql_field->length & 7;
else