• Michael Widenius's avatar
    Fixing bug when using alter table on locked maria table · 50fa1eb8
    Michael Widenius authored
    Reset history when we reenable logging for transactional tables (safety fix)
    
    mysql-test/r/maria2.result:
      New results
    mysql-test/t/maria2.test:
      Added test case for alter table on locked maria table
    mysql-test/valgrind.supp:
      Added suppression rules for warnings in libc / libld
    storage/maria/ma_extra.c:
      Remove table from trnman list if we are going to drop or rename it; We don't want not existing shares in the list when we do commit!
    storage/maria/ma_recovery.c:
      Ensure that info->state don't point to history event when we disable logging for a table;  This is needed as alter table will first do commit and then unlock, which would cause us to access a non existing object when we reenable logging.
      Reset history when we reenable logging (safety fix)
    storage/maria/ma_state.c:
      Do less work when share->now_transactional is not set. (Safety fix)
      Added function to remove shares to be deleted from trnman->used_tables
      Added function to reset history to current context
    storage/maria/ma_state.h:
      Prototypes for new function
    50fa1eb8
ma_state.c 16.9 KB