• Michael Widenius's avatar
    Fix for bug#39226 Maria: crash with FLUSH TABLES WITH READ LOCK after LOCK TABLES · 058916ae
    Michael Widenius authored
    - The problem was that we didn't inform the handler that we are going to close tables that are locked and may have (at least in Maria) be part of an active transaction.
    Fix for Bug#39227 Maria: crash with ALTER TABLE PARTITION
    Fix for Bug #39987 main.partition_not_windows fails under debug build
    Fixed some compiler errors & warnings found by pushbuild
    
    include/my_base.h:
      Added HA_EXTRA_PREPARE_FOR_FORCED_CLOSE for signaling the handler that the file will be forced closed
    include/my_global.h:
      Removed 'register' from 'swap_variables' as this gives a warnings when the variables are structs. Compilers should also now be smart enough to figure out this themselves
    mysql-test/r/subselect_debug.result:
      Reset value of the debug variable;  Without setting this the subselect_innodb test will fail when run after this one
    mysql-test/suite/maria/r/maria.result:
      Merged test with myisam.test
      Added tests for new fixed bugs
    mysql-test/suite/maria/t/maria.test:
      Merged test with myisam.test
      Added tests for new fixed bugs
    mysql-test/t/subselect_debug.test:
      Reset value of the debug variable;  Without setting this the subselect_innodb test will fail when run after this one
    mysys/my_uuid.c:
      Fixed compiler error on windows
    sql/ha_partition.cc:
      Added support for the new extra flag: HA_EXTRA_PREPARE_FOR_FORCED_CLOSE (Bug #39226)
      Ensure that we call extra() for HA_EXTRA_PREPARE_FOR_DROP (Bug#39227)
    sql/mysqld.cc:
      Fix for Bug #39987 main.partition_not_windows fails under debug build
      The problem was that when compiling for purify/valgrind realpath() is not used, which causes test_if_data_home_dir to fail when it shouldn't
    sql/sql_base.cc:
      Call HA_EXTRA_PREPARE_FOR_FORCED_CLOSE for tables that are locked but we are going to force close without doing a commit
    sql/sql_parse.cc:
      More DBUG_PRINT. Fixed comments
    storage/maria/ma_extra.c:
      If HA_EXTRA_PREPARE_FOR_FORCED_CLOSE is called and the table is part of a transaction, remove the table from beeing part of a transaction.
      This is safe as this is only used as part of flush tables or when the table is not part of a transaction
    storage/myisam/mi_open.c:
      Indentation fix
    unittest/mysys/waiting_threads-t.c:
      Remove not needed 'volatile' to get rid of compiler warnings on windows
    058916ae
ha_partition.cc 174 KB