• Michael Widenius's avatar
    MDEV-16421 Make system tables crash safe · d6d63f48
    Michael Widenius authored
    Make all system tables in mysql directory of type
    engine=Aria
    
    Privilege tables are using transactional=1
    Statistical tables are using transactional=0, to allow them
    to be quickly updated with low overhead.
    Help tables are also using transactional=0 as these are only
    updated at init time.
    
    Other changes:
    - Aria store engine is now a required engine
    - Update comment for Aria tables to reflect their new usage
    - Fixed that _ma_reset_trn_for_table() removes unlocked table
      from transaction table list. This was needed to allow one
      to lock and unlock system tables separately from other
      tables, for example when reading a procedure from mysql.proc
    - Don't give a warning when using transactional=1 for engines
      that is using transactions. This is both logical and also
      to avoid warnings/errors when doing an alter of a privilege
      table to InnoDB.
    - Don't abort on warnings from ALTER TABLE for changes that
      would be accepted by CREATE TABLE.
    - New created Aria transactional tables are marked as not movable
      (as they include create_rename_lsn).
    - bootstrap.test was changed to kill orignal server, as one
      can't anymore have two servers started at same time on same
      data directory and data files.
    - Disable maria.small_blocksize as one can't anymore change
      aria block size after system tables are created.
    - Speed up creation of help tables by using lock tables.
    - wsrep_sst_resync now also copies Aria redo logs.
    d6d63f48
bad_option_3.test 994 Bytes