• Michael Widenius's avatar
    Fixed lp:944422 "mysql_upgrade destroys Maria tables?" · 74b06493
    Michael Widenius authored
    The issue was that check/optimize/anaylze did not zerofill the table before they started to work on it.
    Added one more element to not often used function handler::auto_repair() to allow handler to decide when to auto repair.
    
    
    mysql-test/suite/maria/r/maria-autozerofill.result:
      Test case for lp:944422
    mysql-test/suite/maria/t/maria-autozerofill.test:
      Test case for lp:944422
    sql/ha_partition.cc:
      Added argument to auto_repair()
    sql/ha_partition.h:
      Added argument to auto_repair()
    sql/handler.h:
      Added argument to auto_repair()
    sql/table.cc:
      Let auto_repair() decide which errors to trigger auto-repair
    storage/archive/ha_archive.h:
      Added argument to auto_repair()
    storage/csv/ha_tina.h:
      Added argument to auto_repair()
    storage/maria/ha_maria.cc:
      Give better error & warning messages for auto-repaired tables.
    storage/maria/ha_maria.h:
      Added argument to auto_repair()
      Always auto-repair in case of moved table.
    storage/maria/ma_open.c:
      Remove special handling of HA_ERR_OLD_FILE (this is now handled in auto_repair())
    storage/myisam/ha_myisam.h:
      Added argument to auto_repair()
    74b06493
ha_tina.h 5.84 KB