• Daniel Black's avatar
    MDEV-23440: mysql_tzinfo_to_sql to use transactions · b970363a
    Daniel Black authored
    Since MDEV-18778, timezone tables get changed to innodb
    to allow them to be replicated to other galera nodes.
    
    Even without galera, timezone tables could be declared innodb.
    With the standalone innodb tables, the mysql_tzinfo_to_sql takes
    approximately 27 seconds.
    
    With the transactions enabled in this patch, 1.2 seconds is
    the approximate load time.
    
    While explicit checks for the engine of the time zone tables could be
    done, or checks against !opt_skip_write_binlog, non-transactional
    storage engines will just ignore the transactional state without
    even a warning so its safe to enact globally.
    
    Leap seconds are pretty much ignored as they are a single insert
    statement and have gone out of favour as they have caused MariaDB
    stalls in the past.
    b970363a
tztime.cc 89.8 KB