• Marko Mäkelä's avatar
    Cleanup: Revert unnecessary changes and simplify some code · acd66eed
    Marko Mäkelä authored
    Revert any changes that are not needed any more.
    
    Most of the code submitted by Vinchen has been refactored so far.
    The redo log format changes are as they were submitted by Vinchen.
    
    FIXME: On rollback, convert the record to "old" format if the values
    match the 'default row' ones. There should be no need to write any
    new BLOBs during rollback. If we created new BLOBs during rollback,
    crash recovery could become very tricky.
    
    TODO: Review the changes to row0upd.cc, row0umod.cc. For new inserts
    and updates, if the suffix of instantly added columns match the
    'default row', we can omit those fields from the clustered index
    record. If a non-default value is assigned to the last column, then
    all columns will have to be materialized.
    
    TODO: Implement update-in-place of the 'default row' record
    (for performing instant ADD COLUMN after instant ADD COLUMN).
    
    TODO: Implement and test rollback of the 'default row' record.
    
    TODO: Test crash recovery. Ensure that the ADD COLUMN operation
    is being rolled back if the server is killed during it. Also test
    crash recovery of DML operations on tables that were subject to
    instant ADD COLUMN, using all supported ROW_FORMAT (REDUNDANT,
    COMPACT, DYNAMIC).
    acd66eed
mtr0log.cc 15.5 KB