Loading sql/field.cc +0 −23 Original line number Diff line number Diff line Loading @@ -5853,33 +5853,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; #ifdef CORRECT_CODE_BUT_CANT_YET_BE_USED case MYSQL_TYPE_ENUM: case MYSQL_TYPE_SET: length*= charset->mbmaxlen; break; #else /* Because of a bug in MySQL 4.1 where length was extended for ENUM and SET fields for every ALTER TABLE, we have to recalculate lengths here */ case MYSQL_TYPE_ENUM: { uint32 tot_length, max_length; calculate_interval_lengths(current_thd, interval, &max_length, &tot_length); length= max_length * charset->mbmaxlen; break; } case MYSQL_TYPE_SET: { uint32 tot_length, max_length; calculate_interval_lengths(current_thd, interval, &max_length, &tot_length); length= (tot_length + (interval->count - 1)) * charset->mbmaxlen; break; } #endif default: /* do nothing */ break; Loading sql/mysql_priv.h +0 −2 Original line number Diff line number Diff line Loading @@ -370,8 +370,6 @@ int insert_precheck(THD *thd, TABLE_LIST *tables); int create_table_precheck(THD *thd, TABLE_LIST *tables, TABLE_LIST *create_table); Item *negate_expression(THD *thd, Item *expr); void calculate_interval_lengths(THD *thd, TYPELIB *interval, uint *max_length, uint *tot_length); #include "sql_class.h" #include "opt_range.h" Loading Loading
sql/field.cc +0 −23 Original line number Diff line number Diff line Loading @@ -5853,33 +5853,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; #ifdef CORRECT_CODE_BUT_CANT_YET_BE_USED case MYSQL_TYPE_ENUM: case MYSQL_TYPE_SET: length*= charset->mbmaxlen; break; #else /* Because of a bug in MySQL 4.1 where length was extended for ENUM and SET fields for every ALTER TABLE, we have to recalculate lengths here */ case MYSQL_TYPE_ENUM: { uint32 tot_length, max_length; calculate_interval_lengths(current_thd, interval, &max_length, &tot_length); length= max_length * charset->mbmaxlen; break; } case MYSQL_TYPE_SET: { uint32 tot_length, max_length; calculate_interval_lengths(current_thd, interval, &max_length, &tot_length); length= (tot_length + (interval->count - 1)) * charset->mbmaxlen; break; } #endif default: /* do nothing */ break; Loading
sql/mysql_priv.h +0 −2 Original line number Diff line number Diff line Loading @@ -370,8 +370,6 @@ int insert_precheck(THD *thd, TABLE_LIST *tables); int create_table_precheck(THD *thd, TABLE_LIST *tables, TABLE_LIST *create_table); Item *negate_expression(THD *thd, Item *expr); void calculate_interval_lengths(THD *thd, TYPELIB *interval, uint *max_length, uint *tot_length); #include "sql_class.h" #include "opt_range.h" Loading