• Marko Mäkelä's avatar
    MDEV-14310 Possible corruption by table-rebuilding or index-creating ALTER TABLE…ALGORITHM=INPLACE · ce64a65f
    Marko Mäkelä authored
    Also, MDEV-14317 When ALTER TABLE is aborted, do not write garbage pages to data files
    
    As pointed out by Shaohua Wang, the merge of MDEV-13328 from
    MariaDB 10.1 (based on MySQL 5.6) to 10.2 (based on 5.7)
    was performed incorrectly.
    
    Let us always pass a non-NULL FlushObserver* when writing
    to data files is desired.
    
    FlushObserver::is_partial_flush(): Check if this is a bulk-load
    (partial flush of the tablespace).
    
    FlushObserver::is_interrupted(): Check for interrupt status.
    
    buf_LRU_flush_or_remove_pages(): Instead of trx_t*, take
    FlushObserver* as a parameter.
    
    buf_flush_or_remove_pages(): Remove the parameters flush, trx.
    If observer!=NULL, write out the data pages. Use the new predicate
    observer->is_partial() to distinguish a partial tablespace flush
    (after bulk-loading) from a full tablespace flush (export).
    Return a bool (whether all pages were removed from the flush_list).
    
    buf_flush_dirty_pages(): Remove the parameter trx.
    ce64a65f
row0quiesce.cc 17.5 KB