• marko's avatar
    Tweak the bit-field definitions introduced since r813 to address Bug #20877. · 0b25b850
    marko authored
    rw_lock_t: Do not make writer_is_wait_ex a bit-field.  There are no fields
    yet that could be fused to the same machine word, but we play it safe,
    because the field writer_is_wait_ex may be modified by several threads
    simultaneously.  Such fields should always be allocated an own machine
    word.
    
    dict_table_t: Change the type of all bit-fields to "unsigned".  Make
    "space" a bit-field of 32 bits.  Move name_hash and id_hash after all
    bit-fields, so that the bit-fields can be allocated together.  Do not
    make autoinc_inited a bit-field, as we cannot allocate any field
    from the same machine word.
    
    dict_build_table_def_step(): Pass a local variable to
    fil_create_new_single_table_tablespace() and initialize table->space
    from it after the call, now that table->space is a bit-field.
    0b25b850
dict0crea.c 36.1 KB