mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
2 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Mattias Jonsson
|
afd4b25d8a |
Bug#56659: Mismatch of CAPITAL vs small letters in "unified filelist" partitioning output
Bug#56657: Test still uses "--exec rm -f ..." which is non-portable Bug#56601: Test uses Unix path for temporary file, fails, and writes misleading message Several tests that was written in a non portable way (failed on windows) Fixed by 1) backporting the fix for replace_result to also apply to list_files (mysqltest from mysql-trunk) 2) replacing all #p#/#sp#/#tmp# to #P#/#SP#/#TMP#/ (innodb always converts filenames to lower case in windows). 3) replacing '--exec rm -f' with '--remove_files_wildcard' 4) replacing a perl snippet with '--write_file' client/mysqltest.cc: backport from mysql-trunk to allow replace_result to apply also on list_files mysql-test/suite/parts/inc/partition_check_drop.inc: Compensate for differences between innodb on windows vs unix. Using mysqltest command, instead of unix command to remove files. mysql-test/suite/parts/inc/partition_crash.inc: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/inc/partition_fail.inc: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/inc/partition_layout.inc: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/inc/partition_layout_check1.inc: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/inc/partition_layout_check2.inc: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/r/partition_recover_myisam.result: updated result mysql-test/suite/parts/r/partition_special_myisam.result: updated result mysql-test/suite/parts/t/part_supported_sql_func_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter1_2_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_alter4_innodb.test: Test takes very long time, require --big flag mysql-test/suite/parts/t/partition_debug_sync_innodb.test: compensate for differences between innodb on windows vs unix mysql-test/suite/parts/t/partition_recover_myisam.test: more generic suppression (failed in windows) mysql-test/suite/parts/t/partition_special_myisam.test: Using portable mysqltest command 'write_file' instead of perl snippet. |
||
Mattias Jonsson
|
daf0e6b725 |
Bug#53676: Unexpected errors and possible table
corruption on ADD PARTITION and LOCK TABLE Bug#53770: Server crash at handler.cc:2076 on LOAD DATA after timed out COALESCE PARTITION 5.5 fix for: Bug#51042: REORGANIZE PARTITION can leave table in an inconsistent state in case of crash Needs to be back-ported to 5.1 5.5 fix for: Bug#50418: DROP PARTITION does not interact with transactions Main problem was non-persistent operations done before meta-data lock was taken (53770+53676). And 53676 needed to keep the table/partitions opened and locked while copying the data to the new partitions. Also added thorough tests to spot some additional bugs in the ddl_log code, which could result in bad state between the .frm and partitions. Collapsed patch, includes all fixes required from the reviewers. mysql-test/r/partition_innodb.result: updated result with new test mysql-test/suite/parts/inc/partition_crash.inc: crash test include file mysql-test/suite/parts/inc/partition_crash_add.inc: test all states in fast_alter_partition_table ADD PARTITION branch mysql-test/suite/parts/inc/partition_crash_change.inc: test all states in fast_alter_partition_table CHANGE PARTITION branch mysql-test/suite/parts/inc/partition_crash_drop.inc: test all states in fast_alter_partition_table DROP PARTITION branch mysql-test/suite/parts/inc/partition_fail.inc: recovery test including injecting errors mysql-test/suite/parts/inc/partition_fail_add.inc: test all states in fast_alter_partition_table ADD PARTITION branch mysql-test/suite/parts/inc/partition_fail_change.inc: test all states in fast_alter_partition_table CHANGE PARTITION branch mysql-test/suite/parts/inc/partition_fail_drop.inc: test all states in fast_alter_partition_table DROP PARTITION branch mysql-test/suite/parts/inc/partition_mgm_crash.inc: include file that runs all crash and failure injection tests. mysql-test/suite/parts/r/partition_debug_innodb.result: new test result file mysql-test/suite/parts/r/partition_debug_myisam.result: new test result file mysql-test/suite/parts/r/partition_special_innodb.result: updated result mysql-test/suite/parts/r/partition_special_myisam.result: updated result mysql-test/suite/parts/t/partition_debug_innodb-master.opt: opt file for using with crashing tests of partitioned innodb mysql-test/suite/parts/t/partition_debug_innodb.test: partitioned innodb test that require debug builds mysql-test/suite/parts/t/partition_debug_myisam-master.opt: opt file for using with crashing tests of partitioned myisam mysql-test/suite/parts/t/partition_debug_myisam.test: partitioned myisam test that require debug builds mysql-test/suite/parts/t/partition_special_innodb-master.opt: added innodb-file-per-table to easier verify partition status on disk mysql-test/suite/parts/t/partition_special_innodb.test: added test case mysql-test/suite/parts/t/partition_special_myisam.test: added test case mysql-test/t/partition_innodb.test: added test case sql/sql_base.cc: Moved alter_close_tables to sql_partition.cc sql/sql_base.h: removed some non existing and duplicated functions. sql/sql_partition.cc: fast_alter_partition_table: Spletted abort_and_upgrad_lock_and_close_table to its parts (wait_while_table_is_used and alter_close_tables) and always have wait_while_table_is_used before any persistent operations (including logs, which will be executed on failure) and alter_close_tables after create/read/write operations and before drop operations. moved alter_close_tables here from sql_base.cc Added error injections for better test coverage. write_log_final_change_partition: fixed a log_entry linking bug (delete_frm was not linked to change/drop partition) and drop partition must be executed before change partition (change partition can rename a partition to an old name, like REORG p1 INTO (p1,p2). write_log_add_change_partition: need to use drop_frm first, and relinking that entry and reusing its execute entry. sql/sql_table.cc: added initialization of next_active_log_entry. sql/table.h: removed a duplicate declaration. |