• Marko Mäkelä's avatar
    Include dropped columns in ctx->instant_table and dict_index_t · 16278657
    Marko Mäkelä authored
    row_metadata_to_tuple(): Convert a metadata record to a data tuple,
    based on the new info_bits of the metadata record.
    
    btr_cur_pessimistic_update(): Invoke row_metadata_to_tuple() if needed.
    
    dict_index_t::instant_add_field(): Append fields at the end, if any.
    The fields for dropped columns are preserved.
    
    dict_table_t::instant_column(): Renamed from instant_add_column().
    Add the parameter col_map so that columns can be reordered.
    FIXME: Also support ADD/DROP/reorder/rename of VIRTUAL COLUMN.
    
    ha_innobase_inplace_ctx::prepare_instant(): Preserve any instantly
    dropped columns in instant_table and its first index.
    FIXME: Support instant ALTER TABLE even if hidden FTS_DOC_ID exists.
    
    innobase_instant_try(): Simplify the logic for detecting dropped
    or reordered columns. If any drop or reorder is needed, construct
    an update vector with the metadata blob.
    
    dtype_t::metadata_blob_init(): Initialize the metadata BLOB data type.
    
    dict_table_t::find(): Find an old column based on a new column number.
    
    rec_convert_dtuple_to_metadata_comp(): Convert an alter metadata tuple
    into a record.
    
    row_rec_to_index_entry_impl(): Add the template parameter mblob
    and the optional parameter info_bits for specifying the desired new
    info bits. For the metadata tuple, allow conversion between the original
    format (ADD COLUMN only) and the generic format (with hidden BLOB).
    
    row_upd_index_replace_metadata(): Apply an update vector to an
    alter_metadata tuple.
    16278657
row0upd.cc 93.9 KB