• Nikita Malyavin's avatar
    refactor unpack_row · 3a42f286
    Nikita Malyavin authored
    Online alter and replication paths differ quite noticeably. It's time to
    fix the mess. Online alter has to unpack the old table's data
    (here conv_table), and then convert, while replication requires more
    sophisticated track: handle possible conversions, treat extra replica
    fields, and carefully deduce master's record length.
    
    * Extract unpack_field.
    * handle the unpacking progress through a state machine presented by
      Unpack_record_state struct.
    * Stick most of the online alter unpacking together under a single
      conditional branch.
    3a42f286
rpl_record.cc 17.6 KB