• unknown's avatar
    BUG#29957 - alter_table.test fails · e92ce5d5
    unknown authored
    INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
    may cause table corruption on Windows.
    
    That happens because ALTER TABLE writes outdated shared state
    info into index file.
    
    Fixed by removing obsolete workaround.
    
    Affects MyISAM tables on Windows only.
    
    
    myisam/mi_extra.c:
      On windows when mi_extra(HA_EXTRA_PREPARE_FOR_DELETE) is called,
      we release external lock and close index file. If we're in LOCK
      TABLES, MyISAM state info doesn't get updated until UNLOCK TABLES.
      
      That means when we release external lock and we're in LOCK TABLES,
      we may write outdated state info.
      
      As SQL layer closes all table instances, we do not need this
      workaround anymore.
    mysql-test/r/alter_table.result:
      A test case for BUG#29957.
    mysql-test/t/alter_table.test:
      A test case for BUG#29957.
    e92ce5d5
mi_extra.c 12.1 KB