WL#13053: Move testcases in rpl suite that needs MyISAM to a separate .test file

Affects: Server-8.0   —   Status: Complete

There are tests in the rpl suite as well as few others that have some testcases 
running on MyISAM.  These are marked with have_myisam.inc and will be skipped on a 
server built without MyISAM. Currently MyISAM is always compiled in and hence 
these tests will run. This might change in the future and we do not want entire
.test files to be skipped due to a few testcases that need MyISAM. 

This WL will move the sections that need MyISAM to a separate .test file . 
R1 - It shall be possible to run complete MTR test suite on a server that is built 
without MyISAM engine
R2 - Tests that need MyISAM shall not be run when triggered on a server without 
MyISAM engine
R3 - Tests that do not need MyISAM shall run and pass when run on server without 
MyISAM engine
Earlier all tests that require MyISAM have been marked with have_myisam.inc
file. Some of these tests are only for MyISAM and some have tests for MyISAM and
other
engines. This WL should separate out MyISAM testcases from tests that have tests 
for multiple engines. The strategy to be followed in this WL will be roughly as 
below


1. Tests that contain force_myisam_default. 
* These tests are exclusively for MyISAM and no change is needed in the .test file
2. Tests that contain have_myisam.inc, but not force_myisam_default - These
.test files have some sub tests for MyISAM. Move the MyISAM specific parts into
a separate file and add the following
* Add force_myisam_default.inc
* Retain have_myisam.inc 
* Add comments explaining why the test needs MyISAM
3. Remove have_myisam.inc from the original file

Note: Not all tests that require MyISAM is covered by have_myisam.inc. There are 
few tests that does not have "have_myisam.inc" and still have MyISAM reference in 
the test/subtest. The list have been updated in the below sections.
1. There are no tests in rpl(rpl/rpl_gtid/rpl_nogtid) test suites for now which 
are specific to MyISAM and includes "have_myisam.inc" and 
"force_myisam_default.inc".

2.Following tests in rpl(rpl/rpl_gtid/rpl_nogtid) test suites have 
"have_myisam.inc" and do not have 
force_myisam_default.inc

rpl/t/rpl_auto_increment.test
rpl/t/rpl_multi_update.test
rpl/t/rpl_flushlog_loop.test
rpl/t/rpl_crash_safe_master.test
rpl/t/rpl_mixed_bit_pk.test
rpl/t/rpl_session_var.test
rpl/t/rpl_skip_incident_error_cross.test
rpl/t/rpl_skip_error.test
rpl/t/rpl_truncate_2myisam.test
rpl/t/rpl_auto_increment_bug45679.test
rpl/t/rpl_row_img_misc.test
rpl/t/rpl_row_UUID.test
rpl/t/rpl_udf.test
rpl/t/rpl_stm_log.test
rpl/t/rpl_stm_flsh_tbls.test
rpl/t/rpl_binlog_errors.test
rpl/t/rpl_slave_grp_exec.test
rpl/t/rpl_optimize.test
rpl/t/rpl_row_rec_comp_myisam.test
rpl/t/rpl_set_null_myisam.test
rpl/t/rpl_multi_update3.test
rpl/t/rpl_row_blob_myisam.test
rpl/t/rpl_not_null_myisam.test
rpl/t/rpl_EE_err.test
rpl/t/rpl_inconsistent_error.test
rpl/t/rpl_skip_incident_error.test
rpl/t/rpl_multi_engine.test
rpl/t/rpl_DML_error.test
rpl/t/rpl_stm_user_variables.test
rpl/t/rpl_events.test
rpl/t/rpl_row_merge_engine.test
rpl/t/rpl_mts_delete_file_event.test
rpl/t/rpl_delete_no_where.test
rpl/t/rpl_charset.test
rpl/t/rpl_group_commit_deadlock.test
rpl/t/rpl_parallel_ddl_myisam.test
rpl/t/rpl_parallel_recovery.test
rpl/t/rpl_trx_boundary_parser_warning.test
rpl/t/rpl_row_basic_11bugs.test
rpl/t/rpl_stm_EE_err2.test
rpl/t/rpl_row_basic_2myisam.test
rpl/t/rpl_row_log.test
rpl/t/rpl_mts_submode_switch_without_reset_slave.test
rpl/t/rpl_spec_variables.test
rpl/t/rpl_multi_source_mts_recovery.test
rpl/t/rpl_relay_space_myisam.test
rpl/t/rpl_tmp_table_and_DDL.test
rpl/t/rpl_variables_stm_myisam.test
rpl/t/rpl_savepoint.test
rpl/t/rpl_insert_ignore.test
rpl/t/rpl_insert_id.test
rpl/t/rpl_row_loaddata_concurrent.test
rpl/t/rpl_row_flsh_tbls.test
rpl/t/rpl_critical_errors.test
rpl_gtid/t/rpl_trx_boundary_parser_stmt.test
rpl_gtid/t/rpl_sync_relay_log_info.test
rpl_gtid/t/rpl_gtid_skip_incident_caused_by_insufficient_stmt_cache.test
rpl_gtid/t/rpl_trx_boundary_parser_row.test
rpl_gtid/t/rpl_gtid_retrieve_last_trx.test
rpl_nogtid/t/rpl_row_001.test
rpl_nogtid/t/rpl_row_tabledefs_2myisam.test
rpl_nogtid/t/rpl_sp_myisam.test
rpl_nogtid/t/rpl_stm_loaddata_concurrent.test
rpl_nogtid/t/rpl_invoked_features.test
rpl_nogtid/t/rpl_circular_for_4_hosts.test
rpl_nogtid/t/rpl_stm_mixing_engines.test
rpl_nogtid/t/rpl_extra_col_master_myisam.test
rpl_nogtid/t/rpl_row_img_eng_full.test
rpl_nogtid/t/rpl_stop_slave.test
rpl_nogtid/t/rpl_trigger.test
rpl_nogtid/t/rpl_row_ignorable_event.test
rpl_nogtid/t/rpl_bug58546.test
rpl_nogtid/t/rpl_loaddata.test
rpl_nogtid/t/transactional_ddl_locking.test
rpl_nogtid/t/rpl_extra_col_slave_myisam.test
rpl_nogtid/t/rpl_mts_submode_switch.test
rpl_nogtid/t/rpl_stm_000001.test
rpl_nogtid/t/rpl_parallel_load_data.test
rpl_nogtid/t/rpl_temp_table_mix_row.test
rpl_nogtid/t/rpl_begin_commit_rollback.test
rpl_nogtid/t/rpl_parallel_start_stop.test
rpl_nogtid/t/rpl_temporary.test
rpl_nogtid/t/rpl_slave_skip.test
rpl_nogtid/t/rpl_concurrency_error.test
rpl_nogtid/t/rpl_read_only.test
rpl_nogtid/t/rpl_multi_update2.test

3.Following MTR tests in rpl(rpl/rpl_gtid/rpl_nogtid) test suites have 
engine=MyISAM existence but do not include "have_myisam.inc" which needs to be 
migrated into new tests

rpl/t/rpl_flush_log_after_sync_stage.test
rpl/t/rpl_non_atomic_ddl.test
rpl/t/rpl_invisible_indexes.test
rpl/t/rpl_drop_db.test
rpl/t/rpl_row_img_blobs.test
rpl/t/rpl_row_log_innodb.test
rpl/t/rpl_gis_ddl.test
rpl/t/rpl_binlog_failed_drop_table.test
rpl/t/rpl_unsafe_statements.test
rpl/t/rpl_perfschema_log_status_blockage.test
rpl/t/rpl_mix_missing_data_on_slave.test
rpl/t/rpl_stm_ignore.test
rpl/t/rpl_row_img_idx_min.test
rpl/t/rpl_skip_error_no_binlog_slave.test
rpl/t/rpl_delete_no_where.test
rpl/t/rpl_binlog_cache_temp_file_encryption.test
rpl/t/rpl_slave_load_in.test
rpl/t/rpl_row_img_idx_full.test
rpl/t/rpl_packet.test
rpl/t/rpl_perfschema_log_status.test
rpl/t/rpl_err_ignoredtable.test
rpl/t/rpl_row_img_idx_noblob.test
rpl_gtid/t/rpl_xa_prepare.test
rpl_gtid/t/rpl_gtids_table_disable_log_slave_updates.test
rpl_gtid/t/rpl_gtid_transaction_split_across_relay_logs.test
rpl_gtid/t/rpl_gtids_table_disable_binlog_on_slave.test
rpl_gtid/t/rpl_gtids_table.test
rpl_nogtid/t/rpl_semi_sync.test
rpl_nogtid/t/rpl_no_gtid_delete_memory_table_after_start_server.test