@@ -3455,8 +3455,6 @@ class Column_definition: public Sql_alloc
3455
3455
uint32 srid;
3456
3456
Field::geometry_type geom_type;
3457
3457
engine_option_value *option_list;
3458
- /* * structure with parsed options (for comparing fields in ALTER TABLE) */
3459
- ha_field_option_struct *option_struct;
3460
3458
3461
3459
uint pack_flag;
3462
3460
@@ -3472,7 +3470,7 @@ class Column_definition: public Sql_alloc
3472
3470
def (0 ), on_update(0 ), sql_type(MYSQL_TYPE_NULL),
3473
3471
flags (0 ), pack_length(0 ), key_length(0 ), interval(0 ),
3474
3472
srid (0 ), geom_type(Field::GEOM_GEOMETRY),
3475
- option_list (NULL ), option_struct( NULL ),
3473
+ option_list (NULL ),
3476
3474
vcol_info (0 )
3477
3475
{
3478
3476
interval_list.empty ();
@@ -3537,18 +3535,23 @@ class Create_field :public Column_definition
3537
3535
Field *field; // For alter table
3538
3536
TYPELIB *save_interval; // Temporary copy for the above
3539
3537
// Used only for UCS2 intervals
3538
+
3539
+ /* * structure with parsed options (for comparing fields in ALTER TABLE) */
3540
+ ha_field_option_struct *option_struct;
3540
3541
uint offset;
3541
3542
uint8 interval_id; // For rea_create_table
3542
3543
bool create_if_not_exists; // Used in ALTER TABLE IF NOT EXISTS
3543
3544
3544
3545
Create_field ():
3545
3546
Column_definition (), change(0 ), after(0 ),
3546
- field (0 ), create_if_not_exists(false )
3547
+ field (0 ), option_struct(NULL ),
3548
+ create_if_not_exists (false )
3547
3549
{ }
3548
3550
Create_field (THD *thd, Field *old_field, Field *orig_field):
3549
3551
Column_definition (thd, old_field, orig_field),
3550
3552
change (old_field->field_name), after(0 ),
3551
- field (old_field), create_if_not_exists(false )
3553
+ field (old_field), option_struct(old_field->option_struct),
3554
+ create_if_not_exists (false )
3552
3555
{ }
3553
3556
/* Used to make a clone of this object for ALTER/CREATE TABLE */
3554
3557
Create_field *clone (MEM_ROOT *mem_root) const ;
0 commit comments