diff options
Diffstat (limited to 'sql/sql_type.cc')
-rw-r--r-- | sql/sql_type.cc | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/sql/sql_type.cc b/sql/sql_type.cc index 3759c0ba02f..213de62705f 100644 --- a/sql/sql_type.cc +++ b/sql/sql_type.cc @@ -3008,8 +3008,7 @@ bool Type_handler:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3022,8 +3021,7 @@ bool Type_handler_null:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3037,8 +3035,7 @@ bool Type_handler_row:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3052,8 +3049,7 @@ bool Type_handler_temporal_result:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3067,8 +3063,7 @@ bool Type_handler_numeric:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3081,8 +3076,7 @@ bool Type_handler_newdecimal:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const @@ -3096,28 +3090,26 @@ bool Type_handler_bit:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const { def->charset= &my_charset_numeric; - return def->prepare_stage1_bit(thd, mem_root, file, table_flags); + return def->prepare_stage1_bit(thd, mem_root); } bool Type_handler_typelib:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const { return def->prepare_charset_for_string(derived_attr) || - def->prepare_stage1_typelib(thd, mem_root, file, table_flags); + def->prepare_stage1_typelib(thd, mem_root, type); } @@ -3125,14 +3117,13 @@ bool Type_handler_string_result:: Column_definition_prepare_stage1(THD *thd, MEM_ROOT *mem_root, Column_definition *def, - handler *file, - ulonglong table_flags, + column_definition_type_t type, const Column_derived_attributes *derived_attr) const { return def->prepare_charset_for_string(derived_attr) || - def->prepare_stage1_string(thd, mem_root, file, table_flags); + def->prepare_stage1_string(thd, mem_root); } @@ -3343,10 +3334,11 @@ bool Type_handler_bit:: handler *file, ulonglong table_flags) const { - /* - We have sql_field->pack_flag already set here, see - mysql_prepare_create_table(). - */ + if (!(table_flags & HA_CAN_BIT_FIELD)) + { + def->pack_flag|= FIELDFLAG_TREAT_BIT_AS_CHAR; + def->create_length_to_internal_length_bit(); + } return false; } |