Fix online table-rebuilding ALTER on tables after instant ADD COLUMN
In the temporary file that is applied by row_log_table_apply(), we must identify whether the records contain the extra header for instantly added columns. For now, we will allocate an additional byte for this for ROW_T_INSERT and ROW_T_UPDATE records when the source table has been subject to instant ADD COLUMN. The ROW_T_DELETE records are fine, as they will be converted and will only contain 'core' columns (PRIMARY KEY and some system columns) that are converted from dtuple_t. rec_get_converted_size_temp(), rec_init_offsets_temp(), rec_convert_dtuple_to_temp(): Add the parameter 'status'. rec_set_n_add_field(): Simplify the interface to resemble rec_get_n_add_field(). rec_init_offsets_comp_ordinary(): Handle the new rec_leaf_format constant REC_LEAF_TEMP_COLUMNS_ADDED. rec_get_converted_size_comp_prefix_low(), rec_convert_dtuple_to_rec_comp(): Handle index->is_instant() for both temp and !temp.
Showing
This diff is collapsed.
Please register or sign in to comment