summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
commit347c164c35eddab388009470e6848cb361ac93f8 (patch)
tree2c0c44eac690f510bb0a35b2a13b36d606b77b6b /mysql-test/suite
parentReleasing progress-linux version 1:10.11.7-4~progress7.99u1. (diff)
downloadmariadb-347c164c35eddab388009470e6848cb361ac93f8.tar.xz
mariadb-347c164c35eddab388009470e6848cb361ac93f8.zip
Merging upstream version 1:10.11.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/archive/archive.test2
-rw-r--r--mysql-test/suite/archive/archive_bitfield.result1
-rw-r--r--mysql-test/suite/atomic/alter_table.test7
-rw-r--r--mysql-test/suite/binlog/include/binlog_index.inc12
-rw-r--r--mysql-test/suite/binlog/include/print_optional_metadata.inc3
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result119
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result119
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_annotate.result12
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result4
-rw-r--r--mysql-test/suite/binlog/t/binlog_autocommit_off_no_hang.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_rotate_perf.test4
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_row_annotate.result6
-rw-r--r--mysql-test/suite/binlog_encryption/restart_server.inc4
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_gtid_basic.result6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_packet.result2
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result8
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result4
-rw-r--r--mysql-test/suite/compat/oracle/r/empty_string_literal.result6
-rw-r--r--mysql-test/suite/compat/oracle/r/gis.result32
-rw-r--r--mysql-test/suite/compat/oracle/r/mysqldump_restore_func_qualified.result1
-rw-r--r--mysql-test/suite/compat/oracle/r/sp-package-mysqldump.result1
-rw-r--r--mysql-test/suite/encryption/r/corrupted_during_recovery.result2
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change.result24
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change2.result18
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change4.result6
-rw-r--r--mysql-test/suite/encryption/r/innodb-compressed-blob.result6
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-disable.result7
-rw-r--r--mysql-test/suite/encryption/r/innodb-force-corrupt.result6
-rw-r--r--mysql-test/suite/encryption/r/innodb-missing-key.result6
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-nokeys.result11
-rw-r--r--mysql-test/suite/encryption/t/corrupted_during_recovery.test2
-rw-r--r--mysql-test/suite/encryption/t/encrypt_and_grep.test6
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change2.test6
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change3.test12
-rw-r--r--mysql-test/suite/encryption/t/innodb-compressed-blob.test6
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-disable.test7
-rw-r--r--mysql-test/suite/encryption/t/innodb-force-corrupt.test6
-rw-r--r--mysql-test/suite/encryption/t/innodb-missing-key.test2
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-nokeys.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb_encrypt_freed.test2
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_change_master.result5
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_get_lock.result3
-rw-r--r--mysql-test/suite/engines/funcs/r/tc_partition_analyze.result1
-rw-r--r--mysql-test/suite/federated/federatedx.result1
-rw-r--r--mysql-test/suite/federated/federatedx_create_handlers.result65
-rw-r--r--mysql-test/suite/federated/federatedx_create_handlers.test61
-rw-r--r--mysql-test/suite/galera/disabled.def6
-rw-r--r--mysql-test/suite/galera/galera_4nodes.cnf4
-rw-r--r--mysql-test/suite/galera/include/kill_galera.inc2
-rw-r--r--mysql-test/suite/galera/include/shutdown_mysqld.inc18
-rw-r--r--mysql-test/suite/galera/include/start_mysqld.inc4
-rw-r--r--mysql-test/suite/galera/r/MDEV-22232.result12
-rw-r--r--mysql-test/suite/galera/r/MDEV-24143.result2
-rw-r--r--mysql-test/suite/galera/r/MDEV-25731.result47
-rw-r--r--mysql-test/suite/galera/r/MDEV-26499.result6
-rw-r--r--mysql-test/suite/galera/r/MDEV-27276.result6
-rw-r--r--mysql-test/suite/galera/r/MDEV-27806.result2
-rw-r--r--mysql-test/suite/galera/r/MDEV-33136.result21
-rw-r--r--mysql-test/suite/galera/r/MDEV-33828.result41
-rw-r--r--mysql-test/suite/galera/r/MW-336.result46
-rw-r--r--mysql-test/suite/galera/r/MW-369.result126
-rw-r--r--mysql-test/suite/galera/r/MW-402.result108
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_mariabackup.result24
-rw-r--r--mysql-test/suite/galera/r/galera_load_data.result305
-rw-r--r--mysql-test/suite/galera/r/galera_mdl_race.result50
-rw-r--r--mysql-test/suite/galera/r/galera_myisam_autocommit.result37
-rw-r--r--mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result2
-rw-r--r--mysql-test/suite/galera/r/galera_query_cache_invalidate.result2
-rw-r--r--mysql-test/suite/galera/r/galera_sequence_engine.result12
-rw-r--r--mysql-test/suite/galera/r/galera_shutdown_nonprim.result7
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff11
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup.result20
-rw-r--r--mysql-test/suite/galera/r/galera_table_with_hyphen.result52
-rw-r--r--mysql-test/suite/galera/r/galera_vote_rejoin_ddl.result5
-rw-r--r--mysql-test/suite/galera/r/galera_wan_restart_sst.result9
-rw-r--r--mysql-test/suite/galera/r/mdev-22063.result241
-rw-r--r--mysql-test/suite/galera/r/mdev-31285.result21
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#332.result12
-rw-r--r--mysql-test/suite/galera/r/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.result211
-rw-r--r--mysql-test/suite/galera/r/versioning_trx_id.result6
-rw-r--r--mysql-test/suite/galera/suite.pm2
-rw-r--r--mysql-test/suite/galera/t/MDEV-22232.test26
-rw-r--r--mysql-test/suite/galera/t/MDEV-24143.test6
-rw-r--r--mysql-test/suite/galera/t/MDEV-25731.test34
-rw-r--r--mysql-test/suite/galera/t/MDEV-26499.test20
-rw-r--r--mysql-test/suite/galera/t/MDEV-26597.test2
-rw-r--r--mysql-test/suite/galera/t/MDEV-27276.test43
-rw-r--r--mysql-test/suite/galera/t/MDEV-29142.test4
-rw-r--r--mysql-test/suite/galera/t/MDEV-33136.test44
-rw-r--r--mysql-test/suite/galera/t/MDEV-33828.cnf4
-rw-r--r--mysql-test/suite/galera/t/MDEV-33828.test45
-rw-r--r--mysql-test/suite/galera/t/MW-336.cnf2
-rw-r--r--mysql-test/suite/galera/t/MW-336.test62
-rw-r--r--mysql-test/suite/galera/t/MW-369.inc40
-rw-r--r--mysql-test/suite/galera/t/MW-369.test1
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_mariabackup.test15
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf2
-rw-r--r--mysql-test/suite/galera/t/galera_ist_restart_joiner.test2
-rw-r--r--mysql-test/suite/galera/t/galera_load_data.test304
-rw-r--r--mysql-test/suite/galera/t/galera_mdl_race.test60
-rw-r--r--mysql-test/suite/galera/t/galera_myisam_autocommit.test26
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test2
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_simple.test2
-rw-r--r--mysql-test/suite/galera/t/galera_pc_recovery.test8
-rw-r--r--mysql-test/suite/galera/t/galera_restart_on_unknown_option.test4
-rw-r--r--mysql-test/suite/galera/t/galera_sequence_engine.test16
-rw-r--r--mysql-test/suite/galera/t/galera_shutdown_nonprim.test16
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup.test27
-rw-r--r--mysql-test/suite/galera/t/galera_table_with_hyphen.inc48
-rw-r--r--mysql-test/suite/galera/t/galera_table_with_hyphen.test34
-rw-r--r--mysql-test/suite/galera/t/galera_vote_rejoin_ddl.cnf6
-rw-r--r--mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test18
-rw-r--r--mysql-test/suite/galera/t/galera_wan_restart_sst.test36
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_new_cluster.test2
-rw-r--r--mysql-test/suite/galera/t/mdev-22063.test184
-rw-r--r--mysql-test/suite/galera/t/mdev-22543.test2
-rw-r--r--mysql-test/suite/galera/t/mdev-30013.test1
-rw-r--r--mysql-test/suite/galera/t/mdev-31285.test33
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#332.test113
-rw-r--r--mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.cnf10
-rw-r--r--mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.test9
-rw-r--r--mysql-test/suite/galera/t/versioning_trx_id.test12
-rw-r--r--mysql-test/suite/galera_3nodes/disabled.def1
-rw-r--r--mysql-test/suite/galera_3nodes/r/MDEV-29171.result20
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_allowlist.result3
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result27
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_join_with_cc_B.result4
-rw-r--r--mysql-test/suite/galera_3nodes/t/MDEV-29171.test37
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_allowlist.test9
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_gtid_consistency.cnf3
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf14
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test33
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_join_with_cc_B.test5
-rw-r--r--mysql-test/suite/galera_3nodes_sr/r/GCF-336.result2
-rw-r--r--mysql-test/suite/galera_3nodes_sr/r/GCF-832.result10
-rw-r--r--mysql-test/suite/galera_3nodes_sr/r/galera_sr_kill_slave_before_apply.result17
-rw-r--r--mysql-test/suite/galera_3nodes_sr/t/GCF-336.test6
-rw-r--r--mysql-test/suite/galera_3nodes_sr/t/GCF-832.test19
-rw-r--r--mysql-test/suite/galera_3nodes_sr/t/galera_sr_kill_slave_before_apply.test16
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_bf_abort_idle.result33
-rw-r--r--mysql-test/suite/galera_sr/t/MDEV-25718.test5
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_bf_abort_idle.test68
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test4
-rw-r--r--mysql-test/suite/gcol/inc/innodb_v_large_col.inc2
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result10
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test8
-rw-r--r--mysql-test/suite/innodb/include/innodb_merge_threshold_delete.inc3
-rw-r--r--mysql-test/suite/innodb/include/innodb_merge_threshold_secondary.inc3
-rw-r--r--mysql-test/suite/innodb/include/innodb_merge_threshold_update.inc3
-rw-r--r--mysql-test/suite/innodb/include/no_checkpoint_start.inc23
-rw-r--r--mysql-test/suite/innodb/r/alter_copy.result2
-rw-r--r--mysql-test/suite/innodb/r/alter_kill.result4
-rw-r--r--mysql-test/suite/innodb/r/alter_not_null,COPY,NON-STRICT.rdiff121
-rw-r--r--mysql-test/suite/innodb/r/alter_not_null,COPY,STRICT.rdiff181
-rw-r--r--mysql-test/suite/innodb/r/alter_not_null,INPLACE,STRICT.rdiff164
-rw-r--r--mysql-test/suite/innodb/r/autoinc_debug.result57
-rw-r--r--mysql-test/suite/innodb/r/autoinc_import.result232
-rw-r--r--mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff6
-rw-r--r--mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff6
-rw-r--r--mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff6
-rw-r--r--mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff6
-rw-r--r--mysql-test/suite/innodb/r/check_ibd_filesize.result2
-rw-r--r--mysql-test/suite/innodb/r/cursor-restore-unique-null.result24
-rw-r--r--mysql-test/suite/innodb/r/foreign_key.result21
-rw-r--r--mysql-test/suite/innodb/r/full_crc32_import.result20
-rw-r--r--mysql-test/suite/innodb/r/import_bugs.result52
-rw-r--r--mysql-test/suite/innodb/r/import_hidden_fts.result45
-rw-r--r--mysql-test/suite/innodb/r/import_hidden_fts_debug.result76
-rw-r--r--mysql-test/suite/innodb/r/index_length.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-debug.result15
-rw-r--r--mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522,crc32.rdiff5
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff17
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug30113362.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result12
-rw-r--r--mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_fetch.result7
-rw-r--r--mysql-test/suite/innodb/r/innodb_timeout_rollback.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb_ut_format_name.result5
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty,4k.rdiff12
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty.result53
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_crash.result24
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff4
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_debug.result53
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_extend.resultbin9115 -> 9503 bytes
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_import.result1
-rw-r--r--mysql-test/suite/innodb/r/lock_insert_into_empty.result5
-rw-r--r--mysql-test/suite/innodb/r/lock_isolation.result136
-rw-r--r--mysql-test/suite/innodb/r/log_upgrade_101_flags.result12
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,16k,compact.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,16k,compact,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,16k,dynamic.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,16k,dynamic,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,16k,redundant.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,16k,innodb,redundant.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,32k,compact.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,32k,compact,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,32k,dynamic.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,32k,dynamic,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,32k,redundant.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,32k,innodb,redundant.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,4k,compact.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,4k,compact,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,4k,dynamic.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,4k,dynamic,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,4k,redundant.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,4k,innodb,redundant.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,64k,compact.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,64k,compact,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,64k,dynamic.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,64k,dynamic,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,64k,redundant.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,64k,innodb,redundant.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,8k,compact.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,8k,compact,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/max_record_size,8k,dynamic.rdiff (renamed from mysql-test/suite/innodb/r/max_record_size,8k,dynamic,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/monitor.result56
-rw-r--r--mysql-test/suite/innodb/r/rename_table.result10
-rw-r--r--mysql-test/suite/innodb/r/restart,16k.rdiff (renamed from mysql-test/suite/innodb/r/restart,16k,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/restart,32k.rdiff (renamed from mysql-test/suite/innodb/r/restart,32k,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/restart,4k.rdiff (renamed from mysql-test/suite/innodb/r/restart,4k,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/restart,64k.rdiff (renamed from mysql-test/suite/innodb/r/restart,64k,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/restart,8k.rdiff (renamed from mysql-test/suite/innodb/r/restart,8k,innodb.rdiff)0
-rw-r--r--mysql-test/suite/innodb/r/row_size_error_log_warnings_3,4k.rdiff2
-rw-r--r--mysql-test/suite/innodb/r/row_size_error_log_warnings_3.result8
-rw-r--r--mysql-test/suite/innodb/r/undo_space_dblwr.result9
-rw-r--r--mysql-test/suite/innodb/r/undo_truncate.result3
-rw-r--r--mysql-test/suite/innodb/t/alter_copy.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_crash.test6
-rw-r--r--mysql-test/suite/innodb/t/alter_kill.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_rename_existing.test2
-rw-r--r--mysql-test/suite/innodb/t/autoinc_debug.test66
-rw-r--r--mysql-test/suite/innodb/t/autoinc_import.test168
-rw-r--r--mysql-test/suite/innodb/t/corrupted_during_recovery.test2
-rw-r--r--mysql-test/suite/innodb/t/cursor-restore-unique-null.test36
-rw-r--r--mysql-test/suite/innodb/t/doublewrite_debug.test4
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.test21
-rw-r--r--mysql-test/suite/innodb/t/full_crc32_import.test12
-rw-r--r--mysql-test/suite/innodb/t/group_commit_crash.test2
-rw-r--r--mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test2
-rw-r--r--mysql-test/suite/innodb/t/import_bugs.test62
-rw-r--r--mysql-test/suite/innodb/t/import_hidden_fts.test46
-rw-r--r--mysql-test/suite/innodb/t/import_hidden_fts_debug.test101
-rw-r--r--mysql-test/suite/innodb/t/index_length.test8
-rw-r--r--mysql-test/suite/innodb/t/index_merge_threshold.test1
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-debug.test22
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-tempfile.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb-corrupted-table.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test24
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-debug.test6
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug60196.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_fetch.test8
-rw-r--r--mysql-test/suite/innodb/t/innodb_timeout_rollback.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb_ut_format_name.test17
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty.test61
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_crash.test26
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_debug.test53
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_extend.test13
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_import.test1
-rw-r--r--mysql-test/suite/innodb/t/lock_insert_into_empty.test4
-rw-r--r--mysql-test/suite/innodb/t/lock_isolation.test149
-rw-r--r--mysql-test/suite/innodb/t/log_file_name.test2
-rw-r--r--mysql-test/suite/innodb/t/log_upgrade_101_flags.test91
-rw-r--r--mysql-test/suite/innodb/t/monitor.test62
-rw-r--r--mysql-test/suite/innodb/t/purge_secondary.test4
-rw-r--r--mysql-test/suite/innodb/t/rename_table.test9
-rw-r--r--mysql-test/suite/innodb/t/row_size_error_log_warnings_3.test16
-rw-r--r--mysql-test/suite/innodb/t/temporary_table.test2
-rw-r--r--mysql-test/suite/innodb/t/undo_space_dblwr.test12
-rw-r--r--mysql-test/suite/innodb/t/undo_truncate.test5
-rw-r--r--mysql-test/suite/innodb/t/undo_truncate_recover.test2
-rw-r--r--mysql-test/suite/innodb_fts/r/create,orig.rdiff11
-rw-r--r--mysql-test/suite/innodb_fts/r/create.result2
-rw-r--r--mysql-test/suite/innodb_fts/r/foreign_key_update.result12
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers.rdiff57
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers_trx.rdiff57
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers.rdiff10
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers_trx.rdiff10
-rw-r--r--mysql-test/suite/innodb_fts/r/misc_debug,vers.rdiff66
-rw-r--r--mysql-test/suite/innodb_fts/r/misc_debug,vers_trx.rdiff66
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_ddl,vers.rdiff12
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_ddl,vers_trx.rdiff12
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_ddl.result5
-rw-r--r--mysql-test/suite/innodb_fts/t/create.test6
-rw-r--r--mysql-test/suite/innodb_fts/t/foreign_key_update.test13
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test33
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-fic.test5
-rw-r--r--mysql-test/suite/innodb_fts/t/misc_debug.test16
-rw-r--r--mysql-test/suite/innodb_fts/t/sync.test2
-rw-r--r--mysql-test/suite/innodb_fts/t/sync_ddl.test5
-rw-r--r--mysql-test/suite/innodb_gis/t/rollback.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum_2.test5
-rw-r--r--mysql-test/suite/innodb_zip/t/restart.test18
-rw-r--r--mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test6
-rw-r--r--mysql-test/suite/json/r/json_no_table.result20
-rw-r--r--mysql-test/suite/json/r/type_json.result8
-rw-r--r--mysql-test/suite/json/t/type_json.test9
-rw-r--r--mysql-test/suite/large_tests/r/maria_recover_encrypted.result2
-rw-r--r--mysql-test/suite/large_tests/t/maria_recover_encrypted.test8
-rw-r--r--mysql-test/suite/maria/alter.result26
-rw-r--r--mysql-test/suite/maria/alter.test28
-rw-r--r--mysql-test/suite/maria/bulk_insert_crash.test2
-rw-r--r--mysql-test/suite/maria/encrypt-no-key.test8
-rw-r--r--mysql-test/suite/maria/encrypt-wrong-key.test12
-rw-r--r--mysql-test/suite/maria/ps_maria.result4
-rw-r--r--mysql-test/suite/maria/repair.result23
-rw-r--r--mysql-test/suite/maria/repair.test19
-rw-r--r--mysql-test/suite/mariabackup/absolute_ibdata_paths.test2
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.result2
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.test4
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only-incr.test4
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only.test2
-rw-r--r--mysql-test/suite/mariabackup/aria_backup.opt1
-rw-r--r--mysql-test/suite/mariabackup/aria_backup.result780
-rw-r--r--mysql-test/suite/mariabackup/aria_backup.test425
-rw-r--r--mysql-test/suite/mariabackup/aria_log.opt1
-rw-r--r--mysql-test/suite/mariabackup/aria_log_dir_path.result1
-rw-r--r--mysql-test/suite/mariabackup/aria_log_dir_path.test6
-rw-r--r--mysql-test/suite/mariabackup/aria_log_dir_path_rel.result1
-rw-r--r--mysql-test/suite/mariabackup/aria_log_rotate_during_backup.opt2
-rw-r--r--mysql-test/suite/mariabackup/aria_log_rotate_during_backup.result58
-rw-r--r--mysql-test/suite/mariabackup/aria_log_rotate_during_backup.test82
-rw-r--r--mysql-test/suite/mariabackup/auth_plugin_win.test2
-rw-r--r--mysql-test/suite/mariabackup/backup_grants.result4
-rw-r--r--mysql-test/suite/mariabackup/backup_grants.test34
-rw-r--r--mysql-test/suite/mariabackup/backup_ssl.test2
-rw-r--r--mysql-test/suite/mariabackup/binlog.test2
-rw-r--r--mysql-test/suite/mariabackup/compress_qpress.test2
-rw-r--r--mysql-test/suite/mariabackup/create_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/create_with_data_directory_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/data_directory.test5
-rw-r--r--mysql-test/suite/mariabackup/ddl_for_common_engine.result67
-rw-r--r--mysql-test/suite/mariabackup/ddl_for_common_engine.test79
-rw-r--r--mysql-test/suite/mariabackup/disabled.def2
-rw-r--r--mysql-test/suite/mariabackup/encrypted_export.opt6
-rw-r--r--mysql-test/suite/mariabackup/encrypted_export.result14
-rw-r--r--mysql-test/suite/mariabackup/encrypted_export.test29
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.test2
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.test4
-rw-r--r--mysql-test/suite/mariabackup/extra_lsndir.test2
-rw-r--r--mysql-test/suite/mariabackup/full_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/huge_lsn.test2
-rw-r--r--mysql-test/suite/mariabackup/incremental_encrypted.test10
-rw-r--r--mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.result5
-rw-r--r--mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.test18
-rw-r--r--mysql-test/suite/mariabackup/lock_ddl_per_table.test2
-rw-r--r--mysql-test/suite/mariabackup/log_checksum_mismatch.test2
-rw-r--r--mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.result20
-rw-r--r--mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.test47
-rw-r--r--mysql-test/suite/mariabackup/log_tables.result24
-rw-r--r--mysql-test/suite/mariabackup/log_tables.test49
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.test2
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.test2
-rw-r--r--mysql-test/suite/mariabackup/nolock_ddl_during_backup_end.test2
-rw-r--r--mysql-test/suite/mariabackup/partial.result8
-rw-r--r--mysql-test/suite/mariabackup/partial.test21
-rw-r--r--mysql-test/suite/mariabackup/partial_exclude.test2
-rw-r--r--mysql-test/suite/mariabackup/partition_datadir.test2
-rw-r--r--mysql-test/suite/mariabackup/partition_partial.test2
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.result12
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.test27
-rw-r--r--mysql-test/suite/mariabackup/rename_during_mdl_lock.test2
-rw-r--r--mysql-test/suite/mariabackup/rpl_clone_slave.result202
-rw-r--r--mysql-test/suite/mariabackup/rpl_clone_slave.test17
-rw-r--r--mysql-test/suite/mariabackup/small_ibd.test2
-rw-r--r--mysql-test/suite/mariabackup/std_data/ment1587_aria_log.000000040
-rw-r--r--mysql-test/suite/mariabackup/suite.opt2
-rw-r--r--mysql-test/suite/mariabackup/system_versioning.test4
-rw-r--r--mysql-test/suite/mariabackup/truncate_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/undo_space_id.result7
-rw-r--r--mysql-test/suite/mariabackup/undo_space_id.test21
-rw-r--r--mysql-test/suite/mariabackup/unencrypted_page_compressed.test2
-rw-r--r--mysql-test/suite/mariabackup/unsupported_redo.test8
-rw-r--r--mysql-test/suite/mariabackup/xb_aws_key_management.test2
-rw-r--r--mysql-test/suite/mariabackup/xb_file_key_management.test2
-rw-r--r--mysql-test/suite/mariabackup/xb_history.test2
-rw-r--r--mysql-test/suite/mariabackup/xb_page_compress.test2
-rw-r--r--mysql-test/suite/mariabackup/xb_partition.test2
-rw-r--r--mysql-test/suite/mariabackup/xb_rocksdb.test4
-rw-r--r--mysql-test/suite/mariabackup/xb_rocksdb_datadir.test2
-rw-r--r--mysql-test/suite/mariabackup/xbstream.test2
-rw-r--r--mysql-test/suite/multi_source/gtid_ignore_duplicates.result108
-rw-r--r--mysql-test/suite/multi_source/gtid_ignore_duplicates.test68
-rw-r--r--mysql-test/suite/multi_source/info_logs.result12
-rw-r--r--mysql-test/suite/multi_source/multi_source_slave_alias_replica.result4
-rw-r--r--mysql-test/suite/multi_source/reset_slave.result8
-rw-r--r--mysql-test/suite/multi_source/simple.result14
-rw-r--r--mysql-test/suite/multi_source/syntax.result6
-rw-r--r--mysql-test/suite/parts/inc/partition_crash.inc4
-rw-r--r--mysql-test/suite/parts/r/alter_table.result12
-rw-r--r--mysql-test/suite/parts/r/mdev_21007.result5
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_innodb.result24
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_myisam.result24
-rw-r--r--mysql-test/suite/parts/r/partition_alter_myisam.result22
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result1
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_memory.result1
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result1
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result1
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_memory.result1
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result1
-rw-r--r--mysql-test/suite/parts/r/partition_recover_myisam.result3
-rw-r--r--mysql-test/suite/parts/t/alter_table.test30
-rw-r--r--mysql-test/suite/parts/t/mdev_21007.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter_myisam.test15
-rw-r--r--mysql-test/suite/parts/t/partition_recover_myisam-master.opt1
-rw-r--r--mysql-test/suite/parts/t/partition_recover_myisam.opt1
-rw-r--r--mysql-test/suite/parts/t/partition_recover_myisam.test8
-rw-r--r--mysql-test/suite/perfschema/include/memory_aggregate_load.inc3
-rw-r--r--mysql-test/suite/perfschema/include/program_execution.inc2
-rw-r--r--mysql-test/suite/perfschema/include/stage_setup.inc23
-rw-r--r--mysql-test/suite/perfschema/r/alter_table_progress.result3
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate.result378
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a.result266
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result228
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result146
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result108
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_h.result340
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_u.result258
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result220
-rw-r--r--mysql-test/suite/perfschema/r/max_program_zero.result4
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_32bit.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_a.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_h.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_u.result2
-rw-r--r--mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result2
-rw-r--r--mysql-test/suite/perfschema/r/misc.result2
-rw-r--r--mysql-test/suite/perfschema/r/nesting.result56
-rw-r--r--mysql-test/suite/perfschema/r/ortho_iter.result4
-rw-r--r--mysql-test/suite/perfschema/r/privilege_table_io.result4
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_global.result4
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_table.result2
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_idle.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_stages.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_statements.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_transactions.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_waits.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_innodb.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_index.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_table_lock.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_account.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_inst.result2
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_host.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_index.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mdl.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_memory_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_actors.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_objects.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stage_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statement_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_hdl.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_lock.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_class.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_inst.result2
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_transactions_history.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_user.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_off.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_on.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_variables.result8
-rw-r--r--mysql-test/suite/perfschema/r/statement_program_lost_inst.result4
-rw-r--r--mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result4
-rw-r--r--mysql-test/suite/perfschema/r/statement_program_non_nested.result6
-rw-r--r--mysql-test/suite/perfschema/r/threads_history.result428
-rw-r--r--mysql-test/suite/perfschema/t/bad_option.test4
-rw-r--r--mysql-test/suite/perfschema/t/misc.test1
-rw-r--r--mysql-test/suite/perfschema/t/processlist_57.test10
-rw-r--r--mysql-test/suite/perfschema/t/setup_instruments_defaults.test4
-rw-r--r--mysql-test/suite/perfschema/t/statement_program_lost_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/threads_history.test494
-rw-r--r--mysql-test/suite/period/r/overlaps.result82
-rw-r--r--mysql-test/suite/period/t/overlaps.test77
-rw-r--r--mysql-test/suite/plugins/r/compression,innodb-lz4.rdiff4
-rw-r--r--mysql-test/suite/plugins/r/compression,innodb-lzma.rdiff4
-rw-r--r--mysql-test/suite/plugins/r/compression,innodb-lzo.rdiff4
-rw-r--r--mysql-test/suite/plugins/r/compression,innodb-snappy.rdiff4
-rw-r--r--mysql-test/suite/plugins/r/compression,mroonga-lz4.rdiff4
-rw-r--r--mysql-test/suite/plugins/r/compression.result4
-rw-r--r--mysql-test/suite/plugins/t/compression.test2
-rw-r--r--mysql-test/suite/roles/definer.result1
-rw-r--r--mysql-test/suite/rpl/include/rpl_extra_col_master.test4
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup.result4
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup_lsu_off.result4
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_auditing.result64
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_dump_slave_gtid_state_info.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_change_master.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_change_master_demote.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result27
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_lock.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_basic.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_crash.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_grouping.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_header_valid.result146
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_stop_start.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat.result7
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat_debug.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_mark_optimize_tbl_ddl.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev33798.result143
-rw-r--r--mysql-test/suite/rpl/r/rpl_mysql_manager_race_condition.result31
-rw-r--r--mysql-test/suite/rpl/r/rpl_packet.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_multi_domain_xa.result58
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_optimistic.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa_lsu_off.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_retry.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_sbm.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_seq.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_temptable.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_rewrite_db_sys_vars.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_find_row_debug.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_cond_var_per_thd.result32
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result54
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_master_shutdown.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_await_ack.result267
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_slave_enabled_consistent.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_show_slave_status.result75
-rw-r--r--mysql-test/suite/rpl/r/rpl_shutdown_sighup.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_error.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_start_alter_options.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result64
-rw-r--r--mysql-test/suite/rpl/r/rpl_using_gtid_default.result2
-rw-r--r--mysql-test/suite/rpl/r/show_status_stop_slave_race-7126.result1
-rw-r--r--mysql-test/suite/rpl/t/parallel_backup_xa.inc2
-rw-r--r--mysql-test/suite/rpl/t/rpl_auditing.test77
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_dump_slave_gtid_state_info.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_change_master.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_change_master_demote.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test66
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_get_lock.test15
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_grouping.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_header_valid.test213
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_stop_start.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_debug.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev33798.cnf17
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev33798.test182
-rw-r--r--mysql-test/suite/rpl/t/rpl_mysql_manager_race_condition.test64
-rw-r--r--mysql-test/suite/rpl/t/rpl_packet.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_multi_domain_xa.test181
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_optimistic.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_optimistic_xa.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_retry.test38
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_sbm.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_seq.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test23
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_temptable.test24
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_max_extension.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_rewrite_db_sys_vars.test23
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_find_row_debug.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.cnf10
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.test77
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc28
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_master_shutdown.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.cnf6
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.inc104
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test187
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_slave_enabled_consistent.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_show_slave_status.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_shutdown_sighup.test154
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error.test42
-rw-r--r--mysql-test/suite/rpl/t/rpl_sync.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_error2.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_using_gtid_default.test3
-rw-r--r--mysql-test/suite/rpl/t/show_status_stop_slave_race-7126.test3
-rw-r--r--mysql-test/suite/s3/mysqldump.result2
-rw-r--r--mysql-test/suite/s3/partition.result2
-rw-r--r--mysql-test/suite/sql_sequence/mysqldump.result5
-rw-r--r--mysql-test/suite/sys_vars/r/debug_dbug_utf16le.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result5
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result1
-rw-r--r--mysql-test/suite/sys_vars/r/replicate_rewrite_db.result8
-rw-r--r--mysql-test/suite/sys_vars/r/slave_transaction_retry_errors.result10
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff77
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb.result28
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded.result12
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result12
-rw-r--r--mysql-test/suite/sys_vars/t/allow_suspicious_udfs.test4
-rw-r--r--mysql-test/suite/sys_vars/t/debug_dbug_utf16le.test29
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/replicate_rewrite_db.test7
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test2
-rw-r--r--mysql-test/suite/vcol/r/func_regexp.result24
-rw-r--r--mysql-test/suite/vcol/t/func_regexp.test30
-rw-r--r--mysql-test/suite/versioning/r/alter.result13
-rw-r--r--mysql-test/suite/versioning/r/data.result6
-rw-r--r--mysql-test/suite/versioning/r/partition.result23
-rw-r--r--mysql-test/suite/versioning/t/alter.test15
-rw-r--r--mysql-test/suite/versioning/t/partition.test38
620 files changed, 13074 insertions, 3383 deletions
diff --git a/mysql-test/suite/archive/archive.test b/mysql-test/suite/archive/archive.test
index 430bdd66..1367a30c 100644
--- a/mysql-test/suite/archive/archive.test
+++ b/mysql-test/suite/archive/archive.test
@@ -1609,7 +1609,7 @@ SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM
INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
INSERT INTO t1 VALUES(1, 'sampleblob1'),(2, 'sampleblob2');
# Compression length depends on zip library
---replace_result 583 584 291 292
+--replace_result 583 584 585 584 291 292
SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM
INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
DROP TABLE t1;
diff --git a/mysql-test/suite/archive/archive_bitfield.result b/mysql-test/suite/archive/archive_bitfield.result
index 8c30a5f8..8cb4190e 100644
--- a/mysql-test/suite/archive/archive_bitfield.result
+++ b/mysql-test/suite/archive/archive_bitfield.result
@@ -180,6 +180,7 @@ INSERT INTO `t1` VALUES
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
+/*!999999\- enable the sandbox mode */
INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);
diff --git a/mysql-test/suite/atomic/alter_table.test b/mysql-test/suite/atomic/alter_table.test
index 1f87b7e7..aa265c92 100644
--- a/mysql-test/suite/atomic/alter_table.test
+++ b/mysql-test/suite/atomic/alter_table.test
@@ -1,7 +1,12 @@
--source include/have_debug.inc
--source include/have_innodb.inc
--source include/have_log_bin.inc
---source include/not_valgrind.inc
+
+if (!$BIG_TEST)
+{
+ --source include/not_valgrind.inc
+ --source include/not_msan.inc
+}
#
# Testing of atomic create table with crashes in a lot of different places
diff --git a/mysql-test/suite/binlog/include/binlog_index.inc b/mysql-test/suite/binlog/include/binlog_index.inc
index da6cac18..69498f42 100644
--- a/mysql-test/suite/binlog/include/binlog_index.inc
+++ b/mysql-test/suite/binlog/include/binlog_index.inc
@@ -98,7 +98,7 @@ reset master;
--echo # crash_purge_before_update_index
flush logs;
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_purge_before_update_index";
--source include/wait_for_binlog_checkpoint.inc
--error 2013
@@ -119,7 +119,7 @@ SELECT @index;
--echo # crash_purge_non_critical_after_update_index
flush logs;
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_purge_non_critical_after_update_index";
--source include/wait_for_binlog_checkpoint.inc
--error 2013
@@ -143,7 +143,7 @@ SELECT @index;
--echo # crash_purge_critical_after_update_index
flush logs;
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_purge_critical_after_update_index";
--source include/wait_for_binlog_checkpoint.inc
--error 2013
@@ -167,7 +167,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000008;
SELECT @index;
--echo # crash_create_non_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_create_non_critical_before_update_index";
--error 2013
flush logs;
@@ -185,7 +185,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000009;
SELECT @index;
--echo # crash_create_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
--error 2013
flush logs;
@@ -205,7 +205,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000011;
SELECT @index;
--echo # crash_create_after_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET SESSION debug_dbug="+d,crash_create_after_update_index";
--error 2013
flush logs;
diff --git a/mysql-test/suite/binlog/include/print_optional_metadata.inc b/mysql-test/suite/binlog/include/print_optional_metadata.inc
index 739903ab..47feede8 100644
--- a/mysql-test/suite/binlog/include/print_optional_metadata.inc
+++ b/mysql-test/suite/binlog/include/print_optional_metadata.inc
@@ -16,10 +16,9 @@ if ($stop_position)
--exec $MYSQL_BINLOG -F --print-table-metadata $_stop_position_opt $binlog_file > $output_file
---let SEARCH_PATTERN= # (?:Columns\(| {8}).*
+--let SEARCH_PATTERN= (?m-s:# (?:Columns\(| {8}).*)
--let SEARCH_FILE= $output_file
--let SEARCH_OUTPUT=matches
---let SEARCH_TYPE="_gm_"
--source include/search_pattern_in_file.inc
if ($print_primary_key)
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
index 7cb67660..9e88917c 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
@@ -2460,7 +2460,10 @@ START TRANSACTION
#Q> '', -- c76
#Q> #
#Q> 'a', -- c77
-#Q> '',
+#Q> '', -- c78
+#Q> #
+#Q> 1 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2642,7 +2645,10 @@ START TRANSACTION
#Q> 'longtext-ucs2', -- c76 not using maximum value here
#Q> #
#Q> 'c', -- c77
-#Q> 'a,b,c
+#Q> 'a,b,c', -- c78
+#Q> #
+#Q> 2 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2909,7 +2915,13 @@ START TRANSACTION
#Q> 'mediumtext-ucs2', -- c73
#Q> 'longblob', -- c74
#Q> 'longtext', -- c75
-#Q> 'longtext
+#Q> 'longtext-ucs2', -- c76
+#Q> #
+#Q> 'b', -- c77
+#Q> 'b,c', -- c78
+#Q> #
+#Q> 4 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -3250,7 +3262,21 @@ START TRANSACTION
#Q> #
#Q> c65 = '' AND
#Q> c66 = '' AND
-#Q> c67 =
+#Q> c67 = '' AND
+#Q> c68 = '' AND
+#Q> c69 = '' AND
+#Q> c70 = '' AND
+#Q> c71 = '' AND
+#Q> c72 = '' AND
+#Q> c73 = '' AND
+#Q> c74 = '' AND
+#Q> c75 = '' AND
+#Q> c76 = '' AND
+#Q> #
+#Q> c77 = 'a' AND
+#Q> c78 = '' AND
+#Q> #
+#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3595,7 +3621,17 @@ START TRANSACTION
#Q> c68 = 'blob' AND
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
-#Q> c71 = 'mediumblob
+#Q> c71 = 'mediumblob' AND
+#Q> c72 = 'mediumtext' AND
+#Q> c73 = 'mediumtext-ucs2' AND
+#Q> c74 = 'longblob' AND
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'c' AND
+#Q> c78 = 'a,b,c' AND
+#Q> #
+#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3938,7 +3974,18 @@ START TRANSACTION
#Q> c67 IS NULL AND
#Q> c68 IS NULL AND
#Q> c69 IS NULL AND
-#Q> c70 IS NULL
+#Q> c70 IS NULL AND
+#Q> c71 IS NULL AND
+#Q> c72 IS NULL AND
+#Q> c73 IS NULL AND
+#Q> c74 IS NULL AND
+#Q> c75 IS NULL AND
+#Q> c76 IS NULL AND
+#Q> #
+#Q> c77 IS NULL AND
+#Q> c78 IS NULL AND
+#Q> #
+#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4284,7 +4331,16 @@ START TRANSACTION
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob' AND
-#Q> c72 = 'me
+#Q> c72 = 'mediumtext' AND
+#Q> c73 = 'mediumtext-ucs2' AND
+#Q> c74 = 'longblob' AND
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'b' AND
+#Q> c78 = 'b,c' AND
+#Q> #
+#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4544,7 +4600,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
-#Q> c75 = '
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'c' AND
+#Q> c78 = 'a,b,c' AND
+#Q> #
+#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4721,7 +4783,15 @@ START TRANSACTION
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
-#Q> c73 = '' A
+#Q> c73 = '' AND
+#Q> c74 = '' AND
+#Q> c75 = '' AND
+#Q> c76 = '' AND
+#Q> #
+#Q> c77 = 'a' AND
+#Q> c78 = '' AND
+#Q> #
+#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4901,7 +4971,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
-#Q> c75 = 'longtext'
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'b' AND
+#Q> c78 = 'b,c' AND
+#Q> #
+#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5079,7 +5155,14 @@ START TRANSACTION
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
-#Q> c74 IS NUL
+#Q> c74 IS NULL AND
+#Q> c75 IS NULL AND
+#Q> c76 IS NULL AND
+#Q> #
+#Q> c77 IS NULL AND
+#Q> c78 IS NULL AND
+#Q> #
+#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5309,7 +5392,7 @@ START TRANSACTION
#Q> ('2008-08-06','VARCHAR-06',6),
#Q> ('2008-08-07','VARCHAR-07',7),
#Q> ('2008-08-08','VARCHAR-08',8),
-#Q> ('2008-08-09','VARCH
+#Q> ('2008-08-09','VARCHAR-09',9)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5733,7 +5816,7 @@ START TRANSACTION
#Q> ('2008-01-06','VARCHAR-01-06',6),
#Q> ('2008-01-07','VARCHAR-01-07',7),
#Q> ('2008-01-08','VARCHAR-01-08',18),
-#Q> ('2008-01-09','VARCHAR-0
+#Q> ('2008-01-09','VARCHAR-01-09',19)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5803,7 +5886,7 @@ START TRANSACTION
#Q> ('2008-02-06','VARCHAR-02-06',6),
#Q> ('2008-02-07','VARCHAR-02-07',7),
#Q> ('2008-02-08','VARCHAR-02-08',28),
-#Q> ('2008-02-09','VARCHAR-0
+#Q> ('2008-02-09','VARCHAR-02-09',29)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5873,7 +5956,7 @@ START TRANSACTION
#Q> ('2008-03-06','VARCHAR-03-06',6),
#Q> ('2008-03-07','VARCHAR-03-07',7),
#Q> ('2008-03-08','VARCHAR-03-08',38),
-#Q> ('2008-03-09','VARCHAR-0
+#Q> ('2008-03-09','VARCHAR-03-09',39)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5938,7 +6021,7 @@ START TRANSACTION
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
-#Q> WHERE c_1_n = c_2_n AND c_2_n = c
+#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6125,7 +6208,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
-#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
+#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6340,7 +6423,7 @@ START TRANSACTION
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
-#Q> SET c3 = 'Wo
+#Q> SET c3 = 'Wow'
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
index 2bd600f3..916bed0c 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
@@ -2458,7 +2458,10 @@ START TRANSACTION
#Q> '', -- c76
#Q> #
#Q> 'a', -- c77
-#Q> '',
+#Q> '', -- c78
+#Q> #
+#Q> 1 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2643,7 +2646,10 @@ START TRANSACTION
#Q> 'longtext-ucs2', -- c76 not using maximum value here
#Q> #
#Q> 'c', -- c77
-#Q> 'a,b,c
+#Q> 'a,b,c', -- c78
+#Q> #
+#Q> 2 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2912,7 +2918,13 @@ START TRANSACTION
#Q> 'mediumtext-ucs2', -- c73
#Q> 'longblob', -- c74
#Q> 'longtext', -- c75
-#Q> 'longtext
+#Q> 'longtext-ucs2', -- c76
+#Q> #
+#Q> 'b', -- c77
+#Q> 'b,c', -- c78
+#Q> #
+#Q> 4 -- crn -- row number
+#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -3255,7 +3267,21 @@ START TRANSACTION
#Q> #
#Q> c65 = '' AND
#Q> c66 = '' AND
-#Q> c67 =
+#Q> c67 = '' AND
+#Q> c68 = '' AND
+#Q> c69 = '' AND
+#Q> c70 = '' AND
+#Q> c71 = '' AND
+#Q> c72 = '' AND
+#Q> c73 = '' AND
+#Q> c74 = '' AND
+#Q> c75 = '' AND
+#Q> c76 = '' AND
+#Q> #
+#Q> c77 = 'a' AND
+#Q> c78 = '' AND
+#Q> #
+#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3602,7 +3628,17 @@ START TRANSACTION
#Q> c68 = 'blob' AND
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
-#Q> c71 = 'mediumblob
+#Q> c71 = 'mediumblob' AND
+#Q> c72 = 'mediumtext' AND
+#Q> c73 = 'mediumtext-ucs2' AND
+#Q> c74 = 'longblob' AND
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'c' AND
+#Q> c78 = 'a,b,c' AND
+#Q> #
+#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3947,7 +3983,18 @@ START TRANSACTION
#Q> c67 IS NULL AND
#Q> c68 IS NULL AND
#Q> c69 IS NULL AND
-#Q> c70 IS NULL
+#Q> c70 IS NULL AND
+#Q> c71 IS NULL AND
+#Q> c72 IS NULL AND
+#Q> c73 IS NULL AND
+#Q> c74 IS NULL AND
+#Q> c75 IS NULL AND
+#Q> c76 IS NULL AND
+#Q> #
+#Q> c77 IS NULL AND
+#Q> c78 IS NULL AND
+#Q> #
+#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4295,7 +4342,16 @@ START TRANSACTION
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob' AND
-#Q> c72 = 'me
+#Q> c72 = 'mediumtext' AND
+#Q> c73 = 'mediumtext-ucs2' AND
+#Q> c74 = 'longblob' AND
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'b' AND
+#Q> c78 = 'b,c' AND
+#Q> #
+#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4557,7 +4613,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
-#Q> c75 = '
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'c' AND
+#Q> c78 = 'a,b,c' AND
+#Q> #
+#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4736,7 +4798,15 @@ START TRANSACTION
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
-#Q> c73 = '' A
+#Q> c73 = '' AND
+#Q> c74 = '' AND
+#Q> c75 = '' AND
+#Q> c76 = '' AND
+#Q> #
+#Q> c77 = 'a' AND
+#Q> c78 = '' AND
+#Q> #
+#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4918,7 +4988,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
-#Q> c75 = 'longtext'
+#Q> c75 = 'longtext' AND
+#Q> c76 = 'longtext-ucs2' AND
+#Q> #
+#Q> c77 = 'b' AND
+#Q> c78 = 'b,c' AND
+#Q> #
+#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5098,7 +5174,14 @@ START TRANSACTION
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
-#Q> c74 IS NUL
+#Q> c74 IS NULL AND
+#Q> c75 IS NULL AND
+#Q> c76 IS NULL AND
+#Q> #
+#Q> c77 IS NULL AND
+#Q> c78 IS NULL AND
+#Q> #
+#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5330,7 +5413,7 @@ START TRANSACTION
#Q> ('2008-08-06','VARCHAR-06',6),
#Q> ('2008-08-07','VARCHAR-07',7),
#Q> ('2008-08-08','VARCHAR-08',8),
-#Q> ('2008-08-09','VARCH
+#Q> ('2008-08-09','VARCHAR-09',9)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5760,7 +5843,7 @@ START TRANSACTION
#Q> ('2008-01-06','VARCHAR-01-06',6),
#Q> ('2008-01-07','VARCHAR-01-07',7),
#Q> ('2008-01-08','VARCHAR-01-08',18),
-#Q> ('2008-01-09','VARCHAR-0
+#Q> ('2008-01-09','VARCHAR-01-09',19)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5832,7 +5915,7 @@ START TRANSACTION
#Q> ('2008-02-06','VARCHAR-02-06',6),
#Q> ('2008-02-07','VARCHAR-02-07',7),
#Q> ('2008-02-08','VARCHAR-02-08',28),
-#Q> ('2008-02-09','VARCHAR-0
+#Q> ('2008-02-09','VARCHAR-02-09',29)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5904,7 +5987,7 @@ START TRANSACTION
#Q> ('2008-03-06','VARCHAR-03-06',6),
#Q> ('2008-03-07','VARCHAR-03-07',7),
#Q> ('2008-03-08','VARCHAR-03-08',38),
-#Q> ('2008-03-09','VARCHAR-0
+#Q> ('2008-03-09','VARCHAR-03-09',39)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5971,7 +6054,7 @@ START TRANSACTION
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
-#Q> WHERE c_1_n = c_2_n AND c_2_n = c
+#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6160,7 +6243,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
-#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
+#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6377,7 +6460,7 @@ START TRANSACTION
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
-#Q> SET c3 = 'Wo
+#Q> SET c3 = 'Wow'
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
diff --git a/mysql-test/suite/binlog/r/binlog_row_annotate.result b/mysql-test/suite/binlog/r/binlog_row_annotate.result
index bb4d318b..edf8f4e7 100644
--- a/mysql-test/suite/binlog/r/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog/r/binlog_row_annotate.result
@@ -232,7 +232,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -301,7 +301,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -434,7 +434,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #
@@ -855,7 +855,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -924,7 +924,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -1057,7 +1057,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #
diff --git a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
index a0cf5b2d..07e46933 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
@@ -204,7 +204,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
-#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
+#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -445,7 +445,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
-#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
+#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
diff --git a/mysql-test/suite/binlog/t/binlog_autocommit_off_no_hang.test b/mysql-test/suite/binlog/t/binlog_autocommit_off_no_hang.test
index 8f1dbb2a..149b1a8d 100644
--- a/mysql-test/suite/binlog/t/binlog_autocommit_off_no_hang.test
+++ b/mysql-test/suite/binlog/t/binlog_autocommit_off_no_hang.test
@@ -26,10 +26,10 @@
ALTER TABLE mysql.gtid_slave_pos ENGINE=innodb;
--echo # Restart the server so mysqld reads the gtid_slave_pos using innodb
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/binlog/t/binlog_rotate_perf.test b/mysql-test/suite/binlog/t/binlog_rotate_perf.test
index 74c91fec..512471e2 100644
--- a/mysql-test/suite/binlog/t/binlog_rotate_perf.test
+++ b/mysql-test/suite/binlog/t/binlog_rotate_perf.test
@@ -68,10 +68,10 @@ while ($loop_times) {
# try to change the log-bin configs and restart
--echo # ======= now try to change the log-bin config for mysqld =======
---let $restart_parameters="--log-bin=new_log_bin"
+--let $restart_parameters=--log-bin=new_log_bin
--echo #begin to restart mysqld
--source include/restart_mysqld.inc
---let $restart_parameters= ""
+--let $restart_parameters=
--source include/show_binary_logs.inc
let $loop_times= 10;
diff --git a/mysql-test/suite/binlog_encryption/binlog_row_annotate.result b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
index 583d9a30..2a20f939 100644
--- a/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
@@ -236,7 +236,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -305,7 +305,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -441,7 +441,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
-#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
+#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #
diff --git a/mysql-test/suite/binlog_encryption/restart_server.inc b/mysql-test/suite/binlog_encryption/restart_server.inc
index 8f0fe7d8..f71858be 100644
--- a/mysql-test/suite/binlog_encryption/restart_server.inc
+++ b/mysql-test/suite/binlog_encryption/restart_server.inc
@@ -20,7 +20,7 @@
--connection $_cur_con
--enable_reconnect
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
shutdown_server;
@@ -31,5 +31,5 @@ if ($rpl_server_parameters)
{
--let $_rpl_start_server_command= restart:$rpl_server_parameters
}
---exec echo "$_rpl_start_server_command" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
+--write_line "$_rpl_start_server_command" $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result
index fde37036..99721813 100644
--- a/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result
+++ b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result
@@ -69,8 +69,6 @@ INSERT INTO t2 VALUES (5, "i1a");
connection server_4;
CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
SELECT * FROM t1 ORDER BY a;
a b
@@ -91,8 +89,6 @@ connection server_2;
include/stop_slave.inc
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
connection server_4;
UPDATE t2 SET b="j1a" WHERE a=5;
@@ -121,8 +117,6 @@ include/save_master_gtid.inc
connection server_3;
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
include/sync_with_master_gtid.inc
SELECT * FROM t2 ORDER BY a;
diff --git a/mysql-test/suite/binlog_encryption/rpl_packet.result b/mysql-test/suite/binlog_encryption/rpl_packet.result
index 4a2a5d70..bb626960 100644
--- a/mysql-test/suite/binlog_encryption/rpl_packet.result
+++ b/mysql-test/suite/binlog_encryption/rpl_packet.result
@@ -2,6 +2,8 @@ include/master-slave.inc
[connection master]
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, .*error.* 1153");
call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
+call mtr.add_suppression("Could not write packet:");
+call mtr.add_suppression("Got a packet bigger than 'max_allowed_packet' bytes");
drop database if exists DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
create database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
connection master;
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result b/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
index ba131ea0..6b75dbf6 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
@@ -206,10 +206,12 @@ RETURN x;
END
||
SET sql_log_bin=1;
+include/stop_slave_io.inc
connection server_1;
INSERT INTO t3 VALUES (49,0);
connection server_2;
-START SLAVE SQL_THREAD;
+CHANGE MASTER TO master_use_gtid=no;
+include/start_slave.inc
SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
a b
41 41
@@ -239,10 +241,6 @@ SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
include/start_slave.inc
*** 3. Same as (2), but not using gtid mode ***
-connection server_2;
-include/stop_slave.inc
-CHANGE MASTER TO master_use_gtid=no;
-include/start_slave.inc
connection server_1;
connection con_temp3;
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result b/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
index 0c810d2a..b0a4fa59 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
@@ -37,7 +37,9 @@ connection con_temp1;
BEGIN;
INSERT INTO t2 VALUES (21);
connection server_2;
-START SLAVE;
+START SLAVE IO_THREAD;
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
+START SLAVE SQL_THREAD;
connection con_temp2;
SET @old_dbug= @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
diff --git a/mysql-test/suite/compat/oracle/r/empty_string_literal.result b/mysql-test/suite/compat/oracle/r/empty_string_literal.result
index 4af576e9..1260c7aa 100644
--- a/mysql-test/suite/compat/oracle/r/empty_string_literal.result
+++ b/mysql-test/suite/compat/oracle/r/empty_string_literal.result
@@ -64,7 +64,7 @@ SET sql_mode=@mode;
# Test litteral concat
#
SELECT 'a' 'b';
-a
+ab
ab
SELECT 'a' '';
a
@@ -76,13 +76,13 @@ SELECT '' '';
NULL
NULL
SELECT '' 'b' 'c';
-b
+bc
bc
SELECT '' '' 'c';
c
c
SELECT 'a' '' 'c';
-a
+ac
ac
SELECT 'a' '' '';
a
diff --git a/mysql-test/suite/compat/oracle/r/gis.result b/mysql-test/suite/compat/oracle/r/gis.result
index 113cb0ea..8145b97d 100644
--- a/mysql-test/suite/compat/oracle/r/gis.result
+++ b/mysql-test/suite/compat/oracle/r/gis.result
@@ -33,37 +33,37 @@ ERROR 42000: Incorrect parameter count in the call to native function 'WITHIN(PO
# MDEV-20009 Add CAST(expr AS pluggable_type)
#
SELECT CAST(1 AS GEOMETRY);
-ERROR HY000: Operator does not exists: 'CAST(expr AS geometry)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS geometry)'
SELECT CAST(1 AS GEOMETRYCOLLECTION);
-ERROR HY000: Operator does not exists: 'CAST(expr AS geometrycollection)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS geometrycollection)'
SELECT CAST(1 AS POINT);
-ERROR HY000: Operator does not exists: 'CAST(expr AS point)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS point)'
SELECT CAST(1 AS LINESTRING);
-ERROR HY000: Operator does not exists: 'CAST(expr AS linestring)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS linestring)'
SELECT CAST(1 AS POLYGON);
-ERROR HY000: Operator does not exists: 'CAST(expr AS polygon)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS polygon)'
SELECT CAST(1 AS MULTIPOINT);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multipoint)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multipoint)'
SELECT CAST(1 AS MULTILINESTRING);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multilinestring)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multilinestring)'
SELECT CAST(1 AS MULTIPOLYGON);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multipolygon)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multipolygon)'
SELECT CONVERT(1, GEOMETRY);
-ERROR HY000: Operator does not exists: 'CAST(expr AS geometry)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS geometry)'
SELECT CONVERT(1, GEOMETRYCOLLECTION);
-ERROR HY000: Operator does not exists: 'CAST(expr AS geometrycollection)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS geometrycollection)'
SELECT CONVERT(1, POINT);
-ERROR HY000: Operator does not exists: 'CAST(expr AS point)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS point)'
SELECT CONVERT(1, LINESTRING);
-ERROR HY000: Operator does not exists: 'CAST(expr AS linestring)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS linestring)'
SELECT CONVERT(1, POLYGON);
-ERROR HY000: Operator does not exists: 'CAST(expr AS polygon)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS polygon)'
SELECT CONVERT(1, MULTIPOINT);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multipoint)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multipoint)'
SELECT CONVERT(1, MULTILINESTRING);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multilinestring)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multilinestring)'
SELECT CONVERT(1, MULTIPOLYGON);
-ERROR HY000: Operator does not exists: 'CAST(expr AS multipolygon)'
+ERROR HY000: Operator does not exist: 'CAST(expr AS multipolygon)'
#
# End of 10.5 tests
#
diff --git a/mysql-test/suite/compat/oracle/r/mysqldump_restore_func_qualified.result b/mysql-test/suite/compat/oracle/r/mysqldump_restore_func_qualified.result
index fd3dd787..c01524b3 100644
--- a/mysql-test/suite/compat/oracle/r/mysqldump_restore_func_qualified.result
+++ b/mysql-test/suite/compat/oracle/r/mysqldump_restore_func_qualified.result
@@ -24,6 +24,7 @@ b1 VARCHAR(64) AS (LPAD(b0,10)) PERSISTENT
CREATE VIEW v2 AS SELECT
LTRIM(now()) AS a0,
LPAD(now(),10) AS b0;
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
diff --git a/mysql-test/suite/compat/oracle/r/sp-package-mysqldump.result b/mysql-test/suite/compat/oracle/r/sp-package-mysqldump.result
index 24211c63..508aea0e 100644
--- a/mysql-test/suite/compat/oracle/r/sp-package-mysqldump.result
+++ b/mysql-test/suite/compat/oracle/r/sp-package-mysqldump.result
@@ -34,6 +34,7 @@ PROCEDURE p1;
FUNCTION f1 RETURN INT;
END;
$$
+/*!999999\- enable the sandbox mode */
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
diff --git a/mysql-test/suite/encryption/r/corrupted_during_recovery.result b/mysql-test/suite/encryption/r/corrupted_during_recovery.result
index 7329999d..8fef209e 100644
--- a/mysql-test/suite/encryption/r/corrupted_during_recovery.result
+++ b/mysql-test/suite/encryption/r/corrupted_during_recovery.result
@@ -9,7 +9,7 @@ INSERT INTO t2 VALUES(2);
SELECT * FROM t1;
ERROR 42000: Unknown storage engine 'InnoDB'
SELECT * FROM t1;
-Got one of the listed errors
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SELECT * FROM t2;
a
2
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change.result b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
index e2034f14..e69d427e 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
@@ -32,7 +32,7 @@ foobar 2
# Restart server with keysbad3.txt
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keysbad3.txt
SELECT * FROM t1;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keysbad3.txt
DROP TABLE t1;
# Start server with keys3.txt
@@ -44,31 +44,31 @@ INSERT INTO t2 VALUES ('foobar',1,2);
# Restart server with keys2.txt
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
SELECT * FROM t2;
-ERROR 42S02: Table 'test.t2' doesn't exist in engine
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
SELECT * FROM t2 where id = 1;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
SELECT * FROM t2 where b = 1;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
INSERT INTO t2 VALUES ('tmp',3,3);
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
DELETE FROM t2 where b = 3;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
DELETE FROM t2 where id = 3;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
UPDATE t2 set b = b +1;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
OPTIMIZE TABLE t2;
Table Op Msg_type Msg_text
-test.t2 optimize Error Table test/t2 is corrupted. Please drop the table and recreate.
+test.t2 optimize Error Table `test`.`t2` is corrupted. Please drop the table and recreate.
test.t2 optimize error Corrupt
ALTER TABLE t2 ADD COLUMN d INT;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
ANALYZE TABLE t2;
Table Op Msg_type Msg_text
-test.t2 analyze Error Table test/t2 is corrupted. Please drop the table and recreate.
+test.t2 analyze Error Table `test`.`t2` is corrupted. Please drop the table and recreate.
test.t2 analyze error Corrupt
TRUNCATE TABLE t2;
-ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
DROP TABLE t2;
# Start server with keys2.txt
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change2.result b/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
index 3cda2bd5..c02c543a 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
@@ -14,24 +14,24 @@ ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
# restart: --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt
SELECT * FROM t1;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SHOW WARNINGS;
Level Code Message
-Error 1932 Table 'test.t1' doesn't exist in engine
+Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
ALTER TABLE t1 ENGINE=InnoDB;
-ERROR HY000: Table test/t1 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SHOW WARNINGS;
Level Code Message
-Error 1877 Table test/t1 is corrupted. Please drop the table and recreate.
+Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
-test.t1 optimize Error Table test/t1 is corrupted. Please drop the table and recreate.
+test.t1 optimize Error Table `test`.`t1` is corrupted. Please drop the table and recreate.
test.t1 optimize error Corrupt
SHOW WARNINGS;
Level Code Message
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check Error Table test/t1 is corrupted. Please drop the table and recreate.
+test.t1 check Error Table `test`.`t1` is corrupted. Please drop the table and recreate.
test.t1 check error Corrupt
SHOW WARNINGS;
Level Code Message
@@ -41,7 +41,7 @@ backup: t1
UNLOCK TABLES;
# restart: --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt
ALTER TABLE t1 DISCARD TABLESPACE;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
DROP TABLE t1;
CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB
ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
@@ -62,7 +62,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `ENCRYPTED`=YES `ENCRYPTION_KEY_ID`=4
# restart: --innodb-encrypt-tables --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt
RENAME TABLE t1 TO t1new;
-ERROR HY000: Error on rename of './test/t1' to './test/t1new' (errno: 155 "The table does not exist in the storage engine")
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
ALTER TABLE t1 RENAME TO t1new;
-ERROR HY000: Table test/t1 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change4.result b/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
index e808d50b..40b377e6 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
@@ -12,13 +12,13 @@ INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
# restart: --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
-test.t1 optimize Error Table 'test.t1' doesn't exist in engine
-test.t1 optimize status Operation failed
+test.t1 optimize Error Table `test`.`t1` is corrupted. Please drop the table and recreate.
+test.t1 optimize error Corrupt
SHOW WARNINGS;
Level Code Message
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check Error Table test/t1 is corrupted. Please drop the table and recreate.
+test.t1 check Error Table `test`.`t1` is corrupted. Please drop the table and recreate.
test.t1 check error Corrupt
SHOW WARNINGS;
Level Code Message
diff --git a/mysql-test/suite/encryption/r/innodb-compressed-blob.result b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
index 0dc873b9..6c645ecf 100644
--- a/mysql-test/suite/encryption/r/innodb-compressed-blob.result
+++ b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
@@ -1,7 +1,7 @@
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
+call mtr.add_suppression("Table `test`\\.`t[12]` is corrupted");
# Restart mysqld --file-key-management-filename=keys2.txt
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
SET GLOBAL innodb_file_per_table = ON;
@@ -17,9 +17,9 @@ insert into t3 values (1, repeat('secret',6000));
# Restart mysqld --file-key-management-filename=keys3.txt
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt
select count(*) from t1 FORCE INDEX (b) where b like 'secret%';
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
select count(*) from t2 FORCE INDEX (b) where b like 'secret%';
-ERROR 42S02: Table 'test.t2' doesn't exist in engine
+ERROR HY000: Table `test`.`t2` is corrupted. Please drop the table and recreate.
select count(*) from t3 FORCE INDEX (b) where b like 'secret%';
count(*)
1
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-disable.result b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
index 179bc550..86c6d636 100644
--- a/mysql-test/suite/encryption/r/innodb-encryption-disable.result
+++ b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
@@ -1,8 +1,7 @@
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
+call mtr.add_suppression("Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
# restart: --innodb-encrypt-tables=ON --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
create table t5 (
@@ -24,9 +23,9 @@ insert into t1 values (1,2,'maria','db','encryption');
alter table t1 encrypted='yes' `encryption_key_id`=1;
# restart: --innodb-encrypt-tables=OFF
select * from t1;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
select * from t5;
-ERROR 42S02: Table 'test.t5' doesn't exist in engine
+ERROR HY000: Table `test`.`t5` is corrupted. Please drop the table and recreate.
# restart: --innodb-encrypt-tables=ON --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
drop table t1;
drop table t5;
diff --git a/mysql-test/suite/encryption/r/innodb-force-corrupt.result b/mysql-test/suite/encryption/r/innodb-force-corrupt.result
index ad75df95..16cce1d2 100644
--- a/mysql-test/suite/encryption/r/innodb-force-corrupt.result
+++ b/mysql-test/suite/encryption/r/innodb-force-corrupt.result
@@ -1,4 +1,4 @@
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[13]` (has an unreadable root page|is corrupted)");
+call mtr.add_suppression("Table `test`\\.`t[13]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=\\d+, page number=[36]\\] in file .*test.t[123]\\.ibd looks corrupted; key_version=");
call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption in an InnoDB type table");
call mtr.add_suppression("\\[ERROR\\] (mysqld|mariadbd).*: Index for table 't2' is corrupt; try to repair it");
@@ -18,11 +18,11 @@ COMMIT;
# Corrupt tables
# restart
SELECT * FROM t1;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SELECT * FROM t2;
Got one of the listed errors
SELECT * FROM t3;
-ERROR 42S02: Table 'test.t3' doesn't exist in engine
+ERROR HY000: Table `test`.`t3` is corrupted. Please drop the table and recreate.
# Restore the original tables
# restart
DROP TABLE t1,t2,t3;
diff --git a/mysql-test/suite/encryption/r/innodb-missing-key.result b/mysql-test/suite/encryption/r/innodb-missing-key.result
index d5c1e079..83c9166d 100644
--- a/mysql-test/suite/encryption/r/innodb-missing-key.result
+++ b/mysql-test/suite/encryption/r/innodb-missing-key.result
@@ -38,11 +38,11 @@ SELECT COUNT(1) FROM t2;
COUNT(1)
2048
SELECT COUNT(1) FROM t2,t1 where t2.a = t1.a;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SELECT COUNT(1) FROM t1 where b = 'ab';
-ERROR HY000: Table test/t1 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
SELECT COUNT(1) FROM t1;
-ERROR HY000: Table test/t1 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
# Start server with keys2.txt
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
index b7d6eb50..78c2a200 100644
--- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
+++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
@@ -23,6 +23,15 @@ insert into t2 select * from t1;
insert into t3 select * from t1;
insert into t4 select * from t1;
commit;
+
+# Flush all dirty pages from buffer pool
+SET @no_checkpoint_save_pct= @@GLOBAL.innodb_max_dirty_pages_pct;
+SET @no_checkpoint_save_pct_lwm= @@GLOBAL.innodb_max_dirty_pages_pct_lwm;
+SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
+SET GLOBAL innodb_max_dirty_pages_pct=0.0;
+SET GLOBAL innodb_max_dirty_pages_pct= @no_checkpoint_save_pct;
+SET GLOBAL innodb_max_dirty_pages_pct_lwm= @no_checkpoint_save_pct_lwm;
+
CREATE TABLE t5 (a VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
begin;
@@ -42,6 +51,6 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
-FOUND 1 /\[ERROR\] InnoDB: Encryption key is not found for .*test.t1.ibd/ in mysqld.1.err
+FOUND 1 /\[ERROR\] InnoDB: Encryption key is not found for .*test.t[1-5].ibd/ in mysqld.1.err
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
drop table t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/encryption/t/corrupted_during_recovery.test b/mysql-test/suite/encryption/t/corrupted_during_recovery.test
index 1240ee1a..e4a31a0b 100644
--- a/mysql-test/suite/encryption/t/corrupted_during_recovery.test
+++ b/mysql-test/suite/encryption/t/corrupted_during_recovery.test
@@ -60,7 +60,7 @@ call mtr.add_suppression("Table .*t1.* is corrupted. Please drop the table and r
let $restart_parameters=--innodb_force_recovery=1 --skip-innodb-buffer-pool-load-at-startup;
--source include/restart_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE,ER_TABLE_CORRUPT
+--error ER_TABLE_CORRUPT
SELECT * FROM t1;
SELECT * FROM t2;
CHECK TABLE t2;
diff --git a/mysql-test/suite/encryption/t/encrypt_and_grep.test b/mysql-test/suite/encryption/t/encrypt_and_grep.test
index 687f14e8..12593837 100644
--- a/mysql-test/suite/encryption/t/encrypt_and_grep.test
+++ b/mysql-test/suite/encryption/t/encrypt_and_grep.test
@@ -24,8 +24,9 @@ insert t2 values (repeat('tempsecret', 12));
insert t3 values (repeat('dummysecret', 12));
--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
---let $wait_condition=SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0
+--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0
--source include/wait_condition.inc
--sorted_result
@@ -95,8 +96,9 @@ UNLOCK TABLES;
SET GLOBAL innodb_encrypt_tables = on;
--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
---let $wait_condition=SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0
--source include/wait_condition.inc
--sorted_result
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change.test b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
index 05a3b5f4..e9537847 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
@@ -43,7 +43,7 @@ SELECT * FROM t1;
-- source include/restart_mysqld.inc
--disable_warnings
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT * FROM t1;
--enable_warnings
@@ -72,7 +72,7 @@ INSERT INTO t2 VALUES ('foobar',1,2);
-- source include/restart_mysqld.inc
--disable_warnings
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT * FROM t2;
--error ER_TABLE_CORRUPT
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change2.test b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
index 21a9ddb2..9ae3c722 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
@@ -32,7 +32,7 @@ INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
--let $restart_parameters=--plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
--source include/restart_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT * FROM t1;
--replace_regex /key_id [1-9][0-9]*/\1 /
SHOW WARNINGS;
@@ -63,7 +63,7 @@ UNLOCK TABLES;
--let $restart_parameters=--plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
--source include/restart_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
ALTER TABLE t1 DISCARD TABLESPACE;
# Drop table will succeed.
DROP TABLE t1;
@@ -95,7 +95,7 @@ SHOW CREATE TABLE t1;
--let $restart_parameters= --innodb-encrypt-tables --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
--source include/restart_mysqld.inc
---error ER_ERROR_ON_RENAME
+--error ER_TABLE_CORRUPT
RENAME TABLE t1 TO t1new;
--error ER_TABLE_CORRUPT
ALTER TABLE t1 RENAME TO t1new;
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change3.test b/mysql-test/suite/encryption/t/innodb-bad-key-change3.test
index 9c2918f3..f4065290 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change3.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change3.test
@@ -16,7 +16,7 @@ call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* becau
--let $MYSQLD_DATADIR = `SELECT @@datadir`
--let SEARCH_RANGE = 10000000
--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
@@ -25,7 +25,7 @@ call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* becau
4;770A8A65DA156D24EE2A093277530143
EOF
---exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
@@ -47,7 +47,7 @@ UNLOCK TABLES;
ALTER TABLE t1 DISCARD TABLESPACE;
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
@@ -62,7 +62,7 @@ ib_discard_tablespaces("test", "t1");
ib_restore_tablespaces("test", "t1");
EOF
---exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--source include/restart_mysqld.inc
@@ -80,7 +80,7 @@ SELECT * FROM t1;
-- let SEARCH_FILE=$t1_IBD
-- source include/search_pattern_in_file.inc
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
--remove_file $MYSQLTEST_VARDIR/keys1.txt
@@ -89,7 +89,7 @@ SELECT * FROM t1;
4;770A8A65DA156D24EE2A093277530143
EOF
---exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/t/innodb-compressed-blob.test b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
index 12d061a8..645c7235 100644
--- a/mysql-test/suite/encryption/t/innodb-compressed-blob.test
+++ b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
@@ -7,7 +7,7 @@
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
+call mtr.add_suppression("Table `test`\\.`t[12]` is corrupted");
--echo # Restart mysqld --file-key-management-filename=keys2.txt
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
@@ -28,9 +28,9 @@ insert into t3 values (1, repeat('secret',6000));
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
-- source include/restart_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
select count(*) from t1 FORCE INDEX (b) where b like 'secret%';
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
select count(*) from t2 FORCE INDEX (b) where b like 'secret%';
select count(*) from t3 FORCE INDEX (b) where b like 'secret%';
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-disable.test b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
index 939ad2b5..7a7e590e 100644
--- a/mysql-test/suite/encryption/t/innodb-encryption-disable.test
+++ b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
@@ -7,11 +7,10 @@
# MDEV-9559: Server without encryption configs crashes if selecting from an implicitly encrypted table
#
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
+call mtr.add_suppression("Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
# Suppression for builds where file_key_management plugin is linked statically
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
@@ -43,9 +42,9 @@ alter table t1 encrypted='yes' `encryption_key_id`=1;
--let $restart_parameters=--innodb-encrypt-tables=OFF
--source include/restart_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
select * from t1;
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
select * from t5;
--let $restart_parameters=--innodb-encrypt-tables=ON --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
diff --git a/mysql-test/suite/encryption/t/innodb-force-corrupt.test b/mysql-test/suite/encryption/t/innodb-force-corrupt.test
index 51771f1e..861cc78c 100644
--- a/mysql-test/suite/encryption/t/innodb-force-corrupt.test
+++ b/mysql-test/suite/encryption/t/innodb-force-corrupt.test
@@ -7,7 +7,7 @@
# Don't test under embedded
-- source include/not_embedded.inc
-call mtr.add_suppression("InnoDB: Table `test`\\.`t[13]` (has an unreadable root page|is corrupted)");
+call mtr.add_suppression("Table `test`\\.`t[13]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=\\d+, page number=[36]\\] in file .*test.t[123]\\.ibd looks corrupted; key_version=");
call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption in an InnoDB type table");
call mtr.add_suppression("\\[ERROR\\] (mysqld|mariadbd).*: Index for table 't2' is corrupt; try to repair it");
@@ -68,11 +68,11 @@ EOF
--source include/start_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT * FROM t1;
--error ER_GET_ERRMSG,ER_NOT_KEYFILE
SELECT * FROM t2;
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT * FROM t3;
--source include/shutdown_mysqld.inc
diff --git a/mysql-test/suite/encryption/t/innodb-missing-key.test b/mysql-test/suite/encryption/t/innodb-missing-key.test
index 53fc820a..0c7a1df9 100644
--- a/mysql-test/suite/encryption/t/innodb-missing-key.test
+++ b/mysql-test/suite/encryption/t/innodb-missing-key.test
@@ -46,7 +46,7 @@ CREATE TABLE t4(a int not null primary key auto_increment, b varchar(128)) engin
SELECT SLEEP(5);
SELECT COUNT(1) FROM t3;
SELECT COUNT(1) FROM t2;
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT COUNT(1) FROM t2,t1 where t2.a = t1.a;
--error ER_TABLE_CORRUPT
SELECT COUNT(1) FROM t1 where b = 'ab';
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
index 52c12761..9cf515f5 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
@@ -44,7 +44,9 @@ insert into t3 select * from t1;
insert into t4 select * from t1;
commit;
+let $no_checkpoint_flush= 1;
--source ../../suite/innodb/include/no_checkpoint_start.inc
+
#
# We test redo log page read at recv_read_page using
# keys that are not in std_data/keys.txt. If checkpoint
@@ -77,7 +79,7 @@ WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err;
-let SEARCH_PATTERN = \[ERROR\] InnoDB: Encryption key is not found for .*test.t1.ibd;
+let SEARCH_PATTERN = \[ERROR\] InnoDB: Encryption key is not found for .*test.t[1-5].ibd;
--source include/search_pattern_in_file.inc
#
diff --git a/mysql-test/suite/encryption/t/innodb_encrypt_freed.test b/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
index 7ba0b5a2..26c1e8df 100644
--- a/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
+++ b/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
@@ -21,7 +21,7 @@ CREATE TABLE t1(f1 BIGINT PRIMARY KEY, f2 int not null,
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
CREATE TABLE t2 (f1 int not null)engine=innodb;
-let $restart_parameters="--debug=d,ib_log_checkpoint_avoid";
+let $restart_parameters=--debug=d,ib_log_checkpoint_avoid;
--source include/restart_mysqld.inc
# Stop the purge
diff --git a/mysql-test/suite/engines/funcs/r/rpl_change_master.result b/mysql-test/suite/engines/funcs/r/rpl_change_master.result
index 88801b07..48cec72d 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_change_master.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_change_master.result
@@ -26,9 +26,4 @@ connection master;
CHANGE MASTER TO MASTER_USER='root', MASTER_SSL=0, MASTER_SSL_CA='', MASTER_SSL_CERT='',
MASTER_SSL_KEY='', MASTER_SSL_CRL='', MASTER_SSL_CRLPATH='';
CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='', MASTER_SSL=0;
-"Usage of CURRENT_POS in CHANGE MASTER MASTER_USE_GTID is dreprecated.
-CHANGE MASTER TO MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
-CHANGE MASTER TO MASTER_USE_GTID=SLAVE_POS;
include/rpl_end.inc
diff --git a/mysql-test/suite/engines/funcs/r/rpl_get_lock.result b/mysql-test/suite/engines/funcs/r/rpl_get_lock.result
index b852546e..cbb02a32 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_get_lock.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_get_lock.result
@@ -1,6 +1,6 @@
include/master-slave.inc
[connection master]
-CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+SET GLOBAL LOG_WARNINGS=4;
create table t1(n int);
insert into t1 values(get_lock("lock",2));
disconnect master;
@@ -35,4 +35,5 @@ NULL
connection master1;
drop table t1;
connection slave;
+connection default;
include/rpl_end.inc
diff --git a/mysql-test/suite/engines/funcs/r/tc_partition_analyze.result b/mysql-test/suite/engines/funcs/r/tc_partition_analyze.result
index cd4a0294..ae3305b3 100644
--- a/mysql-test/suite/engines/funcs/r/tc_partition_analyze.result
+++ b/mysql-test/suite/engines/funcs/r/tc_partition_analyze.result
@@ -33,7 +33,6 @@ t1 CREATE TABLE `t1` (
PARTITION `p5` VALUES LESS THAN MAXVALUE ENGINE = ENGINE)
ALTER TABLE t1 ANALYZE PARTITION p1,p2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM t1 ORDER BY c1;
c1 c2
diff --git a/mysql-test/suite/federated/federatedx.result b/mysql-test/suite/federated/federatedx.result
index 49deff81..3054060b 100644
--- a/mysql-test/suite/federated/federatedx.result
+++ b/mysql-test/suite/federated/federatedx.result
@@ -2243,6 +2243,7 @@ connection master;
CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
# Dump table t1 using mysqldump tool
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
diff --git a/mysql-test/suite/federated/federatedx_create_handlers.result b/mysql-test/suite/federated/federatedx_create_handlers.result
index 1a2f8c5d..7288c520 100644
--- a/mysql-test/suite/federated/federatedx_create_handlers.result
+++ b/mysql-test/suite/federated/federatedx_create_handlers.result
@@ -521,6 +521,23 @@ use federated;
SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
WHERE id=2) dt2) dt;
id name
+PREPARE stmt FROM "
+SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
+ WHERE id=3) dt2) dt;
+";
+EXECUTE stmt;
+id name
+3 xxx
+EXECUTE stmt;
+id name
+3 xxx
+DEALLOCATE PREPARE stmt;
+EXPLAIN
+SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
+WHERE id=3) dt2) dt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <derived4> ALL NULL NULL NULL NULL 5 Using where
+4 PUSHED DERIVED NULL NULL NULL NULL NULL NULL NULL NULL
connection slave;
CREATE TABLE federated.t10 (a INT,b INT);
CREATE TABLE federated.t11 (a INT, b INT);
@@ -541,6 +558,54 @@ WHERE id=2) dt2) dt
a b a b id name
1 1 NULL NULL NULL NULL
2 2 NULL NULL NULL NULL
+#
+# MDEV-31361: Second execution of PS for query with derived table
+#
+connection slave;
+DROP TABLE IF EXISTS federated.t1;
+CREATE TABLE federated.t1 (
+id int(20) NOT NULL,
+name varchar(16) NOT NULL default ''
+)
+DEFAULT CHARSET=latin1;
+INSERT INTO federated.t1 VALUES
+(3,'xxx'), (7,'yyy'), (4,'xxx'), (1,'zzz'), (5,'yyy');
+connection master;
+DROP TABLE IF EXISTS federated.t1;
+CREATE TABLE federated.t1 (
+id int(20) NOT NULL,
+name varchar(16) NOT NULL default ''
+)
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
+use federated;
+SELECT * FROM
+(SELECT * FROM
+(SELECT * FROM
+(SELECT * FROM t1 where id>3) dt3
+WHERE id>3) dt2
+) dt;
+id name
+7 yyy
+4 xxx
+5 yyy
+PREPARE stmt FROM "SELECT * FROM
+(SELECT * FROM
+(SELECT * FROM
+(SELECT * FROM t1 where id>3) dt3
+WHERE id>3) dt2
+) dt";
+EXECUTE stmt;
+id name
+7 yyy
+4 xxx
+5 yyy
+EXECUTE stmt;
+id name
+7 yyy
+4 xxx
+5 yyy
+DEALLOCATE PREPARE stmt;
set global federated_pushdown=0;
connection master;
DROP TABLE IF EXISTS federated.t1;
diff --git a/mysql-test/suite/federated/federatedx_create_handlers.test b/mysql-test/suite/federated/federatedx_create_handlers.test
index 61dc32a2..c5ac36de 100644
--- a/mysql-test/suite/federated/federatedx_create_handlers.test
+++ b/mysql-test/suite/federated/federatedx_create_handlers.test
@@ -94,12 +94,9 @@ DEFAULT CHARSET=latin1;
INSERT INTO federated.t3 VALUES
('yyy'), ('www'), ('yyy'), ('xxx'), ('www'), ('yyy'), ('www');
-#Enable after fix MDEV-31361
---disable_ps2_protocol
SELECT *
FROM federated.t3, (SELECT * FROM federated.t1 WHERE id > 3) t
WHERE federated.t3.name=t.name;
---enable_ps2_protocol
EXPLAIN
SELECT *
@@ -354,6 +351,18 @@ use federated;
SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
WHERE id=2) dt2) dt;
+PREPARE stmt FROM "
+SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
+ WHERE id=3) dt2) dt;
+";
+EXECUTE stmt;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+EXPLAIN
+SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM t1 where id=3) dt3
+ WHERE id=3) dt2) dt;
+
connection slave;
CREATE TABLE federated.t10 (a INT,b INT);
CREATE TABLE federated.t11 (a INT, b INT);
@@ -379,6 +388,52 @@ SELECT * FROM t10 LEFT JOIN
WHERE id=2) dt2) dt
) ON t10.a=t11.a;
+--echo #
+--echo # MDEV-31361: Second execution of PS for query with derived table
+--echo #
+
+connection slave;
+DROP TABLE IF EXISTS federated.t1;
+
+CREATE TABLE federated.t1 (
+ id int(20) NOT NULL,
+ name varchar(16) NOT NULL default ''
+)
+DEFAULT CHARSET=latin1;
+
+INSERT INTO federated.t1 VALUES
+ (3,'xxx'), (7,'yyy'), (4,'xxx'), (1,'zzz'), (5,'yyy');
+
+connection master;
+DROP TABLE IF EXISTS federated.t1;
+
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval
+CREATE TABLE federated.t1 (
+ id int(20) NOT NULL,
+ name varchar(16) NOT NULL default ''
+)
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
+
+use federated;
+
+let $q=
+SELECT * FROM
+ (SELECT * FROM
+ (SELECT * FROM
+ (SELECT * FROM t1 where id>3) dt3
+ WHERE id>3) dt2
+ ) dt;
+
+eval $q;
+
+eval PREPARE stmt FROM "$q";
+EXECUTE stmt;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+
set global federated_pushdown=0;
source include/federated_cleanup.inc;
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
index d6b30bba..752994c4 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -17,14 +17,10 @@ galera_ssl_upgrade : [Warning] Failed to load slave replication state from table
galera_parallel_simple : timeout related to wsrep_sync_wait
galera_insert_bulk : MDEV-30536 no expected deadlock in galera_insert_bulk test
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
-galera_shutdown_nonprim : MDEV-32635 galera_shutdown_nonprim: mysql_shutdown failed
-versioning_trx_id : MDEV-18590 : galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_concurrent_ctas : MDEV-32779 galera_concurrent_ctas: assertion in the galera::ReplicatorSMM::finish_cert()
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
galera_sst_mysqldump_with_key : MDEV-32782 galera_sst_mysqldump_with_key test failed
-mdev-31285 : MDEV-25089 Assertion `error.len > 0' failed in galera::ReplicatorSMM::handle_apply_error()
galera_var_ignore_apply_errors : MENT-1997 galera_var_ignore_apply_errors test freezes
-MW-402 : temporarily disabled at the request of Codership
-MDEV-22232 : temporarily disabled at the request of Codership
galera_desync_overlapped : MDEV-21538 galera_desync_overlapped MTR failed: Result content mismatch
+galera_create_table_as_select : MDEV-33952 fails sporadically
diff --git a/mysql-test/suite/galera/galera_4nodes.cnf b/mysql-test/suite/galera/galera_4nodes.cnf
index 66238a8e..3ad1a66b 100644
--- a/mysql-test/suite/galera/galera_4nodes.cnf
+++ b/mysql-test/suite/galera/galera_4nodes.cnf
@@ -21,6 +21,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#gale
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+auto-increment-offset=1
[mysqld.2]
wsrep-on=1
@@ -32,6 +33,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#gale
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+auto-increment-offset=2
[mysqld.3]
wsrep-on=1
@@ -43,6 +45,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#gale
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+auto-increment-offset=3
[mysqld.4]
wsrep-on=1
@@ -54,6 +57,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#gale
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
+auto-increment-offset=4
[ENV]
NODE_MYPORT_1= @mysqld.1.port
diff --git a/mysql-test/suite/galera/include/kill_galera.inc b/mysql-test/suite/galera/include/kill_galera.inc
index 28a1b0f3..3c218a19 100644
--- a/mysql-test/suite/galera/include/kill_galera.inc
+++ b/mysql-test/suite/galera/include/kill_galera.inc
@@ -8,7 +8,7 @@ if (!$kill_signal)
# Write file to make mysql-test-run.pl expect the crash, but don't start it
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
---exec echo "wait" > $_expect_file_name
+--write_line wait $_expect_file_name
# Kill the connected server
--disable_reconnect
diff --git a/mysql-test/suite/galera/include/shutdown_mysqld.inc b/mysql-test/suite/galera/include/shutdown_mysqld.inc
deleted file mode 100644
index 793be8d7..00000000
--- a/mysql-test/suite/galera/include/shutdown_mysqld.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-# This is the first half of include/restart_mysqld.inc.
-if ($rpl_inited)
-{
- if (!$allow_rpl_inited)
- {
- --die ERROR IN TEST: When using the replication test framework (master-slave.inc, rpl_init.inc etc), use rpl_restart_server.inc instead of restart_mysqld.inc. If you know what you are doing and you really have to use restart_mysqld.inc, set allow_rpl_inited=1 before you source restart_mysqld.inc
- }
-}
-
-# Write file to make mysql-test-run.pl expect the "crash", but don't start it
---let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
---let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
---exec echo "wait" > $_expect_file_name
-
-# Send shutdown to the connected server
---shutdown_server
---source include/wait_until_disconnected.inc
-
diff --git a/mysql-test/suite/galera/include/start_mysqld.inc b/mysql-test/suite/galera/include/start_mysqld.inc
index 57af9203..c9bed71f 100644
--- a/mysql-test/suite/galera/include/start_mysqld.inc
+++ b/mysql-test/suite/galera/include/start_mysqld.inc
@@ -4,12 +4,12 @@
if ($galera_wsrep_start_position != '') {
--echo Using --wsrep-start-position when starting mysqld ...
- --exec echo "restart:$start_mysqld_params --wsrep-start-position=$galera_wsrep_start_position" > $_expect_file_name
+ --write_line "restart:$start_mysqld_params --wsrep-start-position=$galera_wsrep_start_position" $_expect_file_name
--let $galera_wsrep_start_position = 0
}
if ($galera_wsrep_start_position == '') {
- --exec echo "restart:$start_mysqld_params" > $_expect_file_name
+ --write_line "restart:$start_mysqld_params" $_expect_file_name
}
--source include/galera_wait_ready.inc
diff --git a/mysql-test/suite/galera/r/MDEV-22232.result b/mysql-test/suite/galera/r/MDEV-22232.result
index a6a61945..79db271b 100644
--- a/mysql-test/suite/galera/r/MDEV-22232.result
+++ b/mysql-test/suite/galera/r/MDEV-22232.result
@@ -3,21 +3,21 @@ connection node_1;
connect con1,127.0.0.1,root,,test,$NODE_MYPORT_1;
--- CTAS with empty result set ---
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_run WAIT_FOR bf_abort';
CREATE TABLE t2 SELECT * FROM t1;
connection node_1;
-SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
-ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
+SET DEBUG_SYNC = 'now WAIT_FOR may_run';
+TRUNCATE TABLE t1;
connection con1;
ERROR 70100: Query execution was interrupted
SET DEBUG_SYNC = 'RESET';
--- CTAS with non-empty result set ---
INSERT INTO t1 VALUES (10), (20), (30);
-SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_run WAIT_FOR bf_abort';
CREATE TABLE t2 SELECT * FROM t1;
connection node_1;
-SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
-ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
+SET DEBUG_SYNC = 'now WAIT_FOR may_run';
+TRUNCATE TABLE t1;
connection con1;
ERROR 70100: Query execution was interrupted
SET DEBUG_SYNC = 'RESET';
diff --git a/mysql-test/suite/galera/r/MDEV-24143.result b/mysql-test/suite/galera/r/MDEV-24143.result
index 860d8a35..879e7d9c 100644
--- a/mysql-test/suite/galera/r/MDEV-24143.result
+++ b/mysql-test/suite/galera/r/MDEV-24143.result
@@ -14,7 +14,7 @@ c1
INSERT INTO t1 VALUES (4),(3),(1),(2);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=SEQUENCE;
-ERROR 42S01: Table 't1' already exists
+ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
ALTER TABLE t1 DROP COLUMN c2;
ERROR 42000: Can't DROP COLUMN `c2`; check that it exists
SELECT get_lock ('test', 1.5);
diff --git a/mysql-test/suite/galera/r/MDEV-25731.result b/mysql-test/suite/galera/r/MDEV-25731.result
new file mode 100644
index 00000000..11a72730
--- /dev/null
+++ b/mysql-test/suite/galera/r/MDEV-25731.result
@@ -0,0 +1,47 @@
+connection node_2;
+connection node_1;
+connection node_1;
+SET GLOBAL wsrep_load_data_splitting=ON;
+Warnings:
+Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
+SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+Warnings:
+Warning 1235 wsrep_load_data_splitting for other than InnoDB tables
+SELECT COUNT(*) AS EXPECT_6 FROM t1;
+EXPECT_6
+6
+connection node_2;
+SELECT COUNT(*) AS EXPECT_6 FROM t1;
+EXPECT_6
+6
+connection node_1;
+ALTER TABLE t1 ENGINE=Aria;
+SET GLOBAL wsrep_mode=REPLICATE_ARIA;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+Warnings:
+Warning 1235 wsrep_load_data_splitting for other than InnoDB tables
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
+EXPECT_12
+12
+connection node_2;
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
+EXPECT_12
+12
+connection node_1;
+ALTER TABLE t1 ENGINE=InnoDB;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+EXPECT_18
+18
+connection node_2;
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+EXPECT_18
+18
+connection node_1;
+DROP TABLE t1;
+SET GLOBAL wsrep_load_data_splitting=OFF;
+Warnings:
+Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/r/MDEV-26499.result b/mysql-test/suite/galera/r/MDEV-26499.result
new file mode 100644
index 00000000..15d37247
--- /dev/null
+++ b/mysql-test/suite/galera/r/MDEV-26499.result
@@ -0,0 +1,6 @@
+connection node_2;
+connection node_1;
+connection node_1;
+connection node_2;
+connection node_2;
+SET GLOBAL debug_dbug="+d,simulate_slow_client_at_shutdown";
diff --git a/mysql-test/suite/galera/r/MDEV-27276.result b/mysql-test/suite/galera/r/MDEV-27276.result
index 7e5b29fa..38e217a9 100644
--- a/mysql-test/suite/galera/r/MDEV-27276.result
+++ b/mysql-test/suite/galera/r/MDEV-27276.result
@@ -16,17 +16,15 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+connection node_1a;
+SET SESSION DEBUG_SYNC = "RESET";
connection node_2;
SELECT * FROM p;
id f2
diff --git a/mysql-test/suite/galera/r/MDEV-27806.result b/mysql-test/suite/galera/r/MDEV-27806.result
index 0f7ac79e..6fe288f4 100644
--- a/mysql-test/suite/galera/r/MDEV-27806.result
+++ b/mysql-test/suite/galera/r/MDEV-27806.result
@@ -37,7 +37,7 @@ mysqld-bin.000002 # Gtid # # BEGIN GTID #-#-#
mysqld-bin.000002 # Query # # use `test`; CREATE TABLE `ts1` (
`f1` int(11) NOT NULL
)
-mysqld-bin.000002 # Xid # # COMMIT /* XID */
+mysqld-bin.000002 # Query # # COMMIT
connection node_2;
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
diff --git a/mysql-test/suite/galera/r/MDEV-33136.result b/mysql-test/suite/galera/r/MDEV-33136.result
new file mode 100644
index 00000000..36159fa0
--- /dev/null
+++ b/mysql-test/suite/galera/r/MDEV-33136.result
@@ -0,0 +1,21 @@
+connection node_2;
+connection node_1;
+connect node_1a,127.0.0.1,root,,test,$NODE_MYPORT_1;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+connection node_1a;
+TRUNCATE TABLE t1;
+SET SESSION wsrep_retry_autocommit = 0;
+SET DEBUG_SYNC = 'dict_stats_mdl_acquired SIGNAL may_toi WAIT_FOR bf_abort';
+INSERT INTO t1 VALUES (1);
+connection node_1;
+SET DEBUG_SYNC = 'now WAIT_FOR may_toi';
+TRUNCATE TABLE t1;
+connection node_1a;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+connection node_1;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+disconnect node_1a;
+disconnect node_2;
+disconnect node_1;
diff --git a/mysql-test/suite/galera/r/MDEV-33828.result b/mysql-test/suite/galera/r/MDEV-33828.result
new file mode 100644
index 00000000..a3ce6816
--- /dev/null
+++ b/mysql-test/suite/galera/r/MDEV-33828.result
@@ -0,0 +1,41 @@
+connection node_2;
+connection node_1;
+SET AUTOCOMMIT=ON;
+SELECT @@autocommit;
+@@autocommit
+1
+SET LOCAL enforce_storage_engine=InnoDB;
+CREATE TABLE t1(id int not null primary key auto_increment, name varchar(64)) ENGINE=InnoDB;
+INSERT INTO t1(name) VALUES ('name1'),('name3'),('name6'),('name2');
+CREATE PROCEDURE sel_proc()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SELECT * FROM t1;
+END|
+CREATE PROCEDURE ins_proc()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+INSERT INTO t1 VALUES ('name_proc');
+END|
+SET AUTOCOMMIT=OFF;
+SELECT @@autocommit;
+@@autocommit
+0
+START TRANSACTION;
+insert into t1(name) values('name10');
+select param_list, returns, db, type from mysql.proc where name='sel_proc';
+param_list returns db type
+ test PROCEDURE
+call ins_proc();
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT * FROM t1;
+id name
+1 name1
+3 name3
+5 name6
+7 name2
+9 name10
+DROP TABLE t1;
+DROP PROCEDURE sel_proc;
+DROP PROCEDURE ins_proc;
diff --git a/mysql-test/suite/galera/r/MW-336.result b/mysql-test/suite/galera/r/MW-336.result
index 8996b85c..e0cb1ee0 100644
--- a/mysql-test/suite/galera/r/MW-336.result
+++ b/mysql-test/suite/galera/r/MW-336.result
@@ -1,7 +1,8 @@
connection node_2;
connection node_1;
connection node_1;
-CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET @wsrep_slave_threads_orig = @@wsrep_slave_threads;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) Engine=InnoDB;
SET GLOBAL wsrep_slave_threads = 10;
# Set slave threads to 10 step 1
SELECT VARIABLE_VALUE AS EXPECT_10 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
@@ -9,7 +10,7 @@ EXPECT_10
10
SET GLOBAL wsrep_slave_threads = 1;
connection node_2;
-INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (NULL);
connection node_1;
# Wait until one of the appliers has exited
SELECT VARIABLE_VALUE AS EXPECT_9 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
@@ -27,33 +28,14 @@ EXPECT_20
20
SET GLOBAL wsrep_slave_threads = 1;
connection node_2;
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-INSERT INTO t1 VALUES (7);
-INSERT INTO t1 VALUES (8);
-INSERT INTO t1 VALUES (9);
-INSERT INTO t1 VALUES (10);
-INSERT INTO t1 VALUES (11);
-INSERT INTO t1 VALUES (12);
-INSERT INTO t1 VALUES (13);
-INSERT INTO t1 VALUES (14);
-INSERT INTO t1 VALUES (16);
-INSERT INTO t1 VALUES (17);
-INSERT INTO t1 VALUES (18);
-INSERT INTO t1 VALUES (19);
-INSERT INTO t1 VALUES (20);
connection node_1;
# Wait until 19 of the appliers has exited
SELECT VARIABLE_VALUE AS EXPECT_1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
EXPECT_1
1
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-20
+SELECT COUNT(*) AS EXPECT_51 FROM t1;
+EXPECT_51
+51
SET GLOBAL wsrep_slave_threads = 10;
# Set slave threads to 10 step 3
SELECT VARIABLE_VALUE AS EXPECT_10 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
@@ -62,22 +44,12 @@ EXPECT_10
connection node_1;
SET GLOBAL wsrep_slave_threads = 1;
connection node_2;
-INSERT INTO t1 VALUES (21);
-INSERT INTO t1 VALUES (22);
-INSERT INTO t1 VALUES (23);
-INSERT INTO t1 VALUES (24);
-INSERT INTO t1 VALUES (25);
-INSERT INTO t1 VALUES (26);
-INSERT INTO t1 VALUES (27);
-INSERT INTO t1 VALUES (28);
-INSERT INTO t1 VALUES (29);
-INSERT INTO t1 VALUES (30);
connection node_1;
# Wait until slave threads back to 1
SELECT VARIABLE_VALUE AS EXPECT_1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
EXPECT_1
1
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-30
+SELECT COUNT(*) AS EXPECT_101 FROM t1;
+EXPECT_101
+101
DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-369.result b/mysql-test/suite/galera/r/MW-369.result
index 9f0a77ed..b4fb8668 100644
--- a/mysql-test/suite/galera/r/MW-369.result
+++ b/mysql-test/suite/galera/r/MW-369.result
@@ -12,22 +12,20 @@ START TRANSACTION;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO c VALUES (1, 1);
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -54,22 +52,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET f2 = 1 WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p;
@@ -94,22 +90,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM c WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p;
@@ -130,22 +124,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO c VALUES (1, 0);;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -170,22 +162,20 @@ START TRANSACTION;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET f2 = 1 WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -215,22 +205,20 @@ START TRANSACTION;
INSERT INTO cf (f1, p_id) VALUES (10, 1);
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO cf (f1, p_id) VALUES (20, 1);
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM pf;
@@ -255,22 +243,20 @@ START TRANSACTION;
UPDATE pg SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO cg VALUES (1, 1, 0);
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM pg;
diff --git a/mysql-test/suite/galera/r/MW-402.result b/mysql-test/suite/galera/r/MW-402.result
index f692c90d..e936b835 100644
--- a/mysql-test/suite/galera/r/MW-402.result
+++ b/mysql-test/suite/galera/r/MW-402.result
@@ -15,22 +15,20 @@ START TRANSACTION;
UPDATE c SET f2=1 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -55,22 +53,20 @@ START TRANSACTION;
UPDATE c SET f2=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE p set f1=11 WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -97,22 +93,20 @@ START TRANSACTION;
UPDATE c SET p_id=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE p set f1=11 WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -130,22 +124,20 @@ START TRANSACTION;
UPDATE p set f1=21 WHERE f1 = 11;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET p_id=2 where f1=1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -176,22 +168,20 @@ START TRANSACTION;
UPDATE p2 SET f2=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p1 WHERE f1 = 1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p1;
@@ -223,22 +213,20 @@ START TRANSACTION;
DELETE FROM p2 WHERE f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
-SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p1 WHERE f1=1;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
-SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
-SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_mariabackup.result b/mysql-test/suite/galera/r/galera_bf_abort_mariabackup.result
index 88c200ee..fa056803 100644
--- a/mysql-test/suite/galera/r/galera_bf_abort_mariabackup.result
+++ b/mysql-test/suite/galera/r/galera_bf_abort_mariabackup.result
@@ -12,9 +12,9 @@ connection node_1;
connection node_2;
Starting server ...
connection node_1;
-# Both should return FOUND 2 as we have bootstrap and SST
-FOUND 2 /Desyncing and pausing the provider/ in mysqld.1.err
-FOUND 2 /Resuming and resyncing the provider/ in mysqld.1.err
+# Both should return NOT FOUND as we have mariabackup with backup locks
+NOT FOUND /Desyncing and pausing the provider/ in mysqld.1.err
+NOT FOUND /Resuming and resyncing the provider/ in mysqld.1.err
connection node_1;
SET GLOBAL wsrep_mode = "BF_ABORT_MARIABACKUP";
# Restart node_2, force SST.
@@ -25,9 +25,9 @@ connection node_2;
Starting server ...
connection node_2;
connection node_1;
-# Both should return FOUND 3 as we have 1 new SST
-FOUND 3 /Desyncing and pausing the provider/ in mysqld.1.err
-FOUND 3 /Resuming and resyncing the provider/ in mysqld.1.err
+# Both should return NOT FOUND as we have mariabackup with backup locks
+NOT FOUND /Desyncing and pausing the provider/ in mysqld.1.err
+NOT FOUND /Resuming and resyncing the provider/ in mysqld.1.err
SET GLOBAL wsrep_mode = "";
DROP TABLE t;
# Case 2: MariaBackup backup from node_2
@@ -46,11 +46,13 @@ SET GLOBAL wsrep_mode = "BF_ABORT_MARIABACKUP";
SELECT @@wsrep_mode;
@@wsrep_mode
BF_ABORT_MARIABACKUP
-# Both should return FOUND 1 as node should not desync
-FOUND 1 /Desyncing and pausing the provider/ in mysqld.2.err
-FOUND 1 /Resuming and resyncing the provider/ in mysqld.2.err
-# Should return FOUND 1 because only last backup does not desync
-FOUND 1 /Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used./ in mysqld.2.err
+# Both should return FOUND 2 because both backups do desync but on different points
+FOUND 2 /Desyncing and pausing the provider/ in mysqld.2.err
+FOUND 2 /Resuming and resyncing the provider/ in mysqld.2.err
+# Should return FOUND 1 as server did not desync at BLOCK_DDL
+FOUND 1 /Server not desynched from group at BLOCK_DDL because WSREP_MODE_BF_MARIABACKUP is used./ in mysqld.2.err
+# Should return FOUND 1 as server did desync and pause at BLOCK_COMMIT
+FOUND 1 /Server desynched from group during BACKUP STAGE BLOCK_COMMIT./ in mysqld.2.err
SET GLOBAL wsrep_mode = "";
connection node_1;
DROP TABLE t;
diff --git a/mysql-test/suite/galera/r/galera_load_data.result b/mysql-test/suite/galera/r/galera_load_data.result
index 84e96f8a..c275eb02 100644
--- a/mysql-test/suite/galera/r/galera_load_data.result
+++ b/mysql-test/suite/galera/r/galera_load_data.result
@@ -26,9 +26,308 @@ PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1324 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED;
LOCK TABLES cardtest_tbl WRITE;
ALTER TABLE cardtest_tbl DISABLE KEYS;
-Warnings:
-Note 1031 Storage engine InnoDB of the table `cardtest02`.`cardtest_tbl` doesn't have this option
-INSERT INTO cardtest_tbl VALUES (1,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(2,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(3,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(4,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(5,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(6,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(7,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(8,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(9,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(10,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(11,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(12,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(13,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(14,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(15,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(16,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(17,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(18,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(19,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(20,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(21,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(22,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(23,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(24,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(25,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(26,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(27,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(28,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(29,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(30,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(31,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(32,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(33,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(34,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(35,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(36,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(37,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(38,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(39,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(40,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(41,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(42,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(43,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(44,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(45,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(46,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(47,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(48,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(49,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(50,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(51,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(52,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(53,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(54,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(55,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(56,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(57,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(58,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(59,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(60,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(61,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(62,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(63,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(64,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(65,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(66,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(67,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(68,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(69,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(70,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(71,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(72,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(73,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(74,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(75,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(76,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(77,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(78,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(79,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(80,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(81,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(82,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(83,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(84,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(85,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(86,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(87,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(88,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(89,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(90,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(91,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(92,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(93,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(94,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(95,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(96,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(97,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(98,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(99,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(100,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(101,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(102,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(103,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(104,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(105,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(106,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(107,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(108,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(109,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(110,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(111,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(112,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(113,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(114,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(115,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(116,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(117,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(118,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(119,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(120,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(121,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(122,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(123,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(124,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(125,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(126,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(127,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(128,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(129,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(130,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(131,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(132,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(133,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(134,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(135,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(136,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(137,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(138,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(139,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(140,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(141,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(142,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(143,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(144,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(145,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(146,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(147,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(148,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(149,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(150,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(151,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(152,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(153,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(154,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(155,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(156,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(157,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(158,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(159,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(160,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(161,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(162,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(163,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(164,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(165,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(166,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(167,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(168,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(169,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(170,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(171,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(172,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(173,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(174,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(175,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(176,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(177,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(178,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(179,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(180,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(181,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(182,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(183,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(184,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(185,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(186,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(187,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(188,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(189,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(190,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(191,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(192,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(193,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(194,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(195,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(196,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(197,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(198,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(199,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(200,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(201,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(202,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(203,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(204,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(205,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(206,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(207,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(208,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(209,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(210,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(211,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(212,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(213,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(214,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(215,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(216,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(217,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(218,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(219,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(220,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(221,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(222,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(223,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(224,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(225,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(226,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(227,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(228,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(229,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(230,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(231,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(232,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(233,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(234,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(235,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(236,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(237,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(238,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(239,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(240,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(241,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(242,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(243,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(244,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(245,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(246,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(247,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(248,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(249,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(250,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(251,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(252,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(253,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(254,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(255,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(256,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(257,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(258,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(259,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(260,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(261,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(262,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(263,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(264,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(265,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(266,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(267,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(268,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(269,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(270,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(271,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(272,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(273,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(274,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(275,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(276,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(277,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(278,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(279,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(280,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(281,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(282,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(283,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(284,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(285,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(286,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(287,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(288,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(289,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(290,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(291,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(292,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(293,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(294,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(295,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(296,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(297,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(298,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(299,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(300,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(301,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL);
+INSERT INTO cardtest_tbl VALUES
+(1,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(2,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(3,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(4,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(5,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(6,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(7,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(8,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(9,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(10,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(11,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(12,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(13,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(14,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(15,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(16,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(17,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(18,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(19,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(20,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(21,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(22,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(23,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(24,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(25,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(26,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(27,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(28,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(29,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(30,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(31,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(32,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(33,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(34,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(35,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(36,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(37,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(38,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(39,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(40,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(41,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(42,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(43,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(44,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(45,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(46,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(47,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(48,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(49,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(50,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(51,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(52,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(53,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(54,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(55,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(56,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(57,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(58,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(59,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(60,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(61,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(62,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(63,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(64,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(65,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(66,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(67,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(68,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(69,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(70,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(71,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(72,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(73,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(74,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(75,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(76,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(77,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(78,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(79,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(80,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(81,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(82,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(83,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(84,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(85,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(86,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(87,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(88,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(89,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(90,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(91,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(92,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(93,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(94,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(95,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(96,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(97,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(98,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(99,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(100,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(101,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(102,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(103,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(104,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(105,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(106,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(107,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(108,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(109,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(110,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(111,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(112,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(113,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(114,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(115,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(116,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(117,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(118,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(119,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(120,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(121,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(122,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(123,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(124,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(125,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(126,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(127,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(128,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(129,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(130,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(131,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(132,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(133,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(134,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(135,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(136,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(137,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(138,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(139,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(140,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(141,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(142,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(143,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(144,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(145,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(146,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(147,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(148,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(149,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(150,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(151,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(152,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(153,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(154,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(155,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(156,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(157,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(158,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(159,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(160,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(161,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(162,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(163,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(164,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(165,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(166,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(167,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(168,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(169,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(170,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(171,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(172,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(173,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(174,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(175,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(176,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(177,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(178,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(179,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(180,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(181,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(182,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(183,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(184,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(185,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(186,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(187,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(188,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(189,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(190,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(191,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(192,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(193,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(194,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(195,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(196,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(197,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(198,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(199,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(200,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(201,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(202,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(203,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(204,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(205,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(206,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(207,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(208,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(209,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(210,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(211,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(212,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(213,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(214,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(215,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(216,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(217,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(218,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(219,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(220,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(221,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(222,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(223,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(224,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(225,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(226,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(227,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(228,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(229,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(230,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(231,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(232,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(233,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(234,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(235,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(236,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(237,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(238,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(239,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(240,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(241,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(242,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(243,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(244,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(245,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(246,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(247,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(248,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(249,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(250,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(251,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(252,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(253,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(254,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(255,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(256,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(257,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(258,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(259,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(260,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(261,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(262,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(263,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(264,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(265,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(266,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(267,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(268,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(269,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(270,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(271,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(272,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(273,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(274,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(275,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(276,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(277,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(278,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(279,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(280,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(281,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(282,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(283,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(284,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(285,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(286,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(287,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(288,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(289,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(290,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(291,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(292,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(293,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(294,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(295,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(296,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(297,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(298,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(299,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(300,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+(301,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL);
ALTER TABLE cardtest_tbl ENABLE KEYS;
Warnings:
Note 1031 Storage engine InnoDB of the table `cardtest02`.`cardtest_tbl` doesn't have this option
diff --git a/mysql-test/suite/galera/r/galera_mdl_race.result b/mysql-test/suite/galera/r/galera_mdl_race.result
index cf747ed8..a7f0bc8e 100644
--- a/mysql-test/suite/galera/r/galera_mdl_race.result
+++ b/mysql-test/suite/galera/r/galera_mdl_race.result
@@ -1,44 +1,68 @@
connection node_2;
connection node_1;
+connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=innodb;
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=innodb;
INSERT INTO t1 VALUES (1, 'a');
INSERT INTO t1 VALUES (2, 'a');
-connection node_1;
SET AUTOCOMMIT=ON;
START TRANSACTION;
UPDATE t1 SET f2 = 'b' WHERE f1 = 1;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a;
+SET SESSION wsrep_sync_wait=0;
LOCK TABLE t2 WRITE;
connection node_1;
-SET @@debug_dbug = "d,sync.wsrep_before_mdl_wait";
+SET DEBUG_SYNC= 'wsrep_before_mdl_wait SIGNAL before_mdl_wait WAIT_FOR mdl_wait_continue';
SELECT * FROM t2;;
connection node_1a;
+# Wait until select is blocked before MDL lock wait
+SET DEBUG_SYNC= 'now WAIT_FOR before_mdl_wait';
+connection node_1a;
SET @@debug_dbug = "d,sync.wsrep_after_BF_victim_lock";
connection node_2;
UPDATE t1 SET f2 = 'c' WHERE f1 = 1;
-connection node_1a;
-SET @@debug_dbug = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_before_mdl_wait";
+connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connection node_1b;
+SET SESSION wsrep_sync_wait=0;
+# Wait for conflicting update to block
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
+connect node_1c, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connection node_1c;
+connection node_1a;
+SET DEBUG_SYNC = "now SIGNAL BF_victim_continue";
UNLOCK TABLES;
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
-COUNT(*) = 1
+connection node_1;
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'a';
+EXPECT_1
1
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'c';
+EXPECT_1
1
+SELECT * FROM t1;
+f1 f2
+1 c
+2 a
connection node_2;
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'a';
+EXPECT_1
1
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'c';
+EXPECT_1
1
+SELECT * FROM t1;
+f1 f2
+1 c
+2 a
DROP TABLE t1;
DROP TABLE t2;
connection node_1a;
SET DEBUG_SYNC = "RESET";
+connection node_1b;
+SET DEBUG_SYNC = "RESET";
+connection node_1;
+disconnect node_1a;
+disconnect node_1b;
+disconnect node_1c;
diff --git a/mysql-test/suite/galera/r/galera_myisam_autocommit.result b/mysql-test/suite/galera/r/galera_myisam_autocommit.result
index b80af779..23883ef3 100644
--- a/mysql-test/suite/galera/r/galera_myisam_autocommit.result
+++ b/mysql-test/suite/galera/r/galera_myisam_autocommit.result
@@ -15,16 +15,37 @@ UPDATE t1 SET f1 = 9;
UPDATE t2 SET f1 = 9 WHERE f1 = 1;
DELETE FROM t1 WHERE f1 = 9;
DELETE FROM t2 WHERE f1 = 9;
+SELECT * FROM t1 ORDER BY f1;
+f1
+SELECT * FROM t2 ORDER BY f1;
+f1
+2
+3
+4
+5
+6
+connection node_2;
+SELECT * FROM t1 ORDER BY f1;
+f1
+SELECT * FROM t2 ORDER BY f1;
+f1
+2
+3
+4
+5
+6
TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+SELECT * FROM t1 ORDER BY f1;
+f1
+SELECT * FROM t2 ORDER BY f1;
+f1
connection node_2;
-SELECT COUNT(*) = 0 FROM t1;
-COUNT(*) = 0
-1
-SELECT COUNT(*) = 0 FROM t2;
-COUNT(*) = 0
-0
+SELECT * FROM t1 ORDER BY f1;
+f1
+SELECT * FROM t2 ORDER BY f1;
+f1
connection node_1;
+SET GLOBAL wsrep_mode=DEFAULT;
DROP TABLE t1;
DROP TABLE t2;
-SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result b/mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result
index a15b0c7d..bc61cfb4 100644
--- a/mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result
+++ b/mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result
@@ -10,7 +10,7 @@ INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
connection node_2a;
SET SESSION wsrep_sync_wait=0;
-SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committing%' or STATE = 'Waiting for certification');
+SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE 'Commit' or STATE = 'Waiting for certification');
EXPECT_1
1
SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%';
diff --git a/mysql-test/suite/galera/r/galera_query_cache_invalidate.result b/mysql-test/suite/galera/r/galera_query_cache_invalidate.result
index 4a6b61e4..fc23c0f1 100644
--- a/mysql-test/suite/galera/r/galera_query_cache_invalidate.result
+++ b/mysql-test/suite/galera/r/galera_query_cache_invalidate.result
@@ -8,8 +8,6 @@ connection node_4;
call mtr.add_suppression("WSREP: Ignoring server id for non bootstrap node.");
connection node_3;
CHANGE MASTER TO master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_1, master_use_gtid=current_pos;;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
START SLAVE;
include/wait_for_slave_to_start.inc
connection node_1;
diff --git a/mysql-test/suite/galera/r/galera_sequence_engine.result b/mysql-test/suite/galera/r/galera_sequence_engine.result
new file mode 100644
index 00000000..93e6c46b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sequence_engine.result
@@ -0,0 +1,12 @@
+connection node_2;
+connection node_1;
+SET GLOBAL wsrep_ignore_apply_errors=0;
+SET SESSION AUTOCOMMIT=0;
+SET SESSION max_error_count=0;
+CREATE TABLE t0 (id GEOMETRY,parent_id GEOMETRY)ENGINE=SEQUENCE;
+ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
+connection node_2;
+SHOW CREATE TABLE t0;
+ERROR 42S02: Table 'test.t0' doesn't exist
+connection node_1;
+SET GLOBAL wsrep_ignore_apply_errors=DEFAULT;
diff --git a/mysql-test/suite/galera/r/galera_shutdown_nonprim.result b/mysql-test/suite/galera/r/galera_shutdown_nonprim.result
index 8b769743..d577eab9 100644
--- a/mysql-test/suite/galera/r/galera_shutdown_nonprim.result
+++ b/mysql-test/suite/galera/r/galera_shutdown_nonprim.result
@@ -5,7 +5,12 @@ connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options = 'pc.weight=2';
connection node_2;
-SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
+connection node_1;
+connection node_2;
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
connection node_1;
SET GLOBAL wsrep_provider_options = 'pc.weight = 1';
diff --git a/mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff
index 3aad611c..9dc84549 100644
--- a/mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff
@@ -1,6 +1,6 @@
---- r/galera_sst_mariabackup.result
-+++ r/galera_sst_mariabackup.reject
-@@ -516,5 +516,189 @@
+--- galera/r/galera_sst_mariabackup.result 2024-04-11 09:53:12.950512316 +0300
++++ galera/r/galera_sst_mariabackup,debug.reject 2024-04-11 10:00:36.771144955 +0300
+@@ -524,6 +524,190 @@
1
DROP TABLE t1;
COMMIT;
@@ -188,5 +188,6 @@
+DROP TABLE t1;
+COMMIT;
+SET GLOBAL debug_dbug = $debug_orig;
- disconnect node_2;
- disconnect node_1;
+ connection node_2;
+ Shutting down server ...
+ connection node_1;
diff --git a/mysql-test/suite/galera/r/galera_sst_mariabackup.result b/mysql-test/suite/galera/r/galera_sst_mariabackup.result
index caf602c0..374f714e 100644
--- a/mysql-test/suite/galera/r/galera_sst_mariabackup.result
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup.result
@@ -2,6 +2,14 @@ connection node_2;
connection node_1;
connection node_1;
connection node_2;
+connection node_1;
+select @@innodb_undo_tablespaces;
+@@innodb_undo_tablespaces
+0
+connection node_2;
+select @@innodb_undo_tablespaces;
+@@innodb_undo_tablespaces
+3
Performing State Transfer on a server that has been shut down cleanly and restarted
connection node_1;
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
@@ -516,5 +524,17 @@ COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
+connection node_2;
+Shutting down server ...
+connection node_1;
+connection node_2;
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+connection node_1;
+connection node_2;
+select @@innodb_undo_tablespaces;
+@@innodb_undo_tablespaces
+3
+call mtr.add_suppression("InnoDB: Cannot change innodb_undo_tablespaces=3 because previous shutdown was not with innodb_fast_shutdown=0");
disconnect node_2;
disconnect node_1;
diff --git a/mysql-test/suite/galera/r/galera_table_with_hyphen.result b/mysql-test/suite/galera/r/galera_table_with_hyphen.result
new file mode 100644
index 00000000..c9993004
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_table_with_hyphen.result
@@ -0,0 +1,52 @@
+connection node_2;
+connection node_1;
+connection node_1;
+set wsrep_sync_wait=0;
+connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+SET SESSION wsrep_sync_wait = 0;
+connection node_1;
+SET GLOBAL wsrep_slave_threads=2;
+CREATE TABLE `par-ent` ( id INT AUTO_INCREMENT PRIMARY KEY, j INT) ENGINE=InnoDB;
+CREATE TABLE `child` (id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT, j INT, FOREIGN KEY (parent_id) REFERENCES `par-ent`(id)) ENGINE=InnoDB;
+INSERT INTO `par-ent` VALUES (23,0);
+connection node_2;
+connection node_1a;
+SET GLOBAL DEBUG_DBUG='+d,wsrep_ha_write_row';
+connection node_2;
+INSERT INTO `child` VALUES (21,23,0),(22,23,0),(23,23,0);
+connection node_1a;
+SET DEBUG_SYNC='now WAIT_FOR wsrep_ha_write_row_reached';
+connection node_2;
+UPDATE `par-ent` SET j=2 WHERE id=23;
+connection node_1a;
+SET GLOBAL DEBUG_DBUG='-d,wsrep_ha_write_row';
+SET DEBUG_SYNC='now SIGNAL wsrep_ha_write_row_continue';
+SET GLOBAL DEBUG_DBUG="RESET";
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL wsrep_slave_threads=DEFAULT;
+connection node_2;
+drop table `child`;
+drop table `par-ent`;
+connection node_1;
+SET GLOBAL wsrep_slave_threads=2;
+CREATE TABLE `p-arent-` ( id INT AUTO_INCREMENT PRIMARY KEY, j INT) ENGINE=InnoDB;
+CREATE TABLE `c-hild` (id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT, j INT, FOREIGN KEY (parent_id) REFERENCES `p-arent-`(id)) ENGINE=InnoDB;
+INSERT INTO `p-arent-` VALUES (23,0);
+connection node_2;
+connection node_1a;
+SET GLOBAL DEBUG_DBUG='+d,wsrep_ha_write_row';
+connection node_2;
+INSERT INTO `c-hild` VALUES (21,23,0),(22,23,0),(23,23,0);
+connection node_1a;
+SET DEBUG_SYNC='now WAIT_FOR wsrep_ha_write_row_reached';
+connection node_2;
+UPDATE `p-arent-` SET j=2 WHERE id=23;
+connection node_1a;
+SET GLOBAL DEBUG_DBUG='-d,wsrep_ha_write_row';
+SET DEBUG_SYNC='now SIGNAL wsrep_ha_write_row_continue';
+SET GLOBAL DEBUG_DBUG="RESET";
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL wsrep_slave_threads=DEFAULT;
+connection node_2;
+drop table `c-hild`;
+drop table `p-arent-`;
diff --git a/mysql-test/suite/galera/r/galera_vote_rejoin_ddl.result b/mysql-test/suite/galera/r/galera_vote_rejoin_ddl.result
index c6b3d8fa..ff0063fb 100644
--- a/mysql-test/suite/galera/r/galera_vote_rejoin_ddl.result
+++ b/mysql-test/suite/galera/r/galera_vote_rejoin_ddl.result
@@ -1,7 +1,5 @@
connection node_2;
connection node_1;
-connection node_1;
-connection node_2;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4;
connection node_1;
@@ -55,6 +53,7 @@ expect_0
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
expect_1
1
+CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
connection node_4;
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
expect_0
@@ -64,3 +63,5 @@ expect_1
1
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
DROP TABLE t2;
+disconnect node_3;
+disconnect node_4;
diff --git a/mysql-test/suite/galera/r/galera_wan_restart_sst.result b/mysql-test/suite/galera/r/galera_wan_restart_sst.result
index 2433a1d9..edaefe0e 100644
--- a/mysql-test/suite/galera/r/galera_wan_restart_sst.result
+++ b/mysql-test/suite/galera/r/galera_wan_restart_sst.result
@@ -10,7 +10,7 @@ SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VA
EXPECT_4
4
connection node_1;
-CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
INSERT INTO t1 VALUES (1);
connection node_2;
INSERT INTO t1 VALUES (2);
@@ -20,6 +20,8 @@ connection node_4;
INSERT INTO t1 VALUES (4);
connection node_3;
INSERT INTO t1 VALUES (13);
+connection node_1;
+connection node_3;
Killing server ...
connection node_1;
INSERT INTO t1 VALUES (11);
@@ -29,8 +31,11 @@ connection node_4;
INSERT INTO t1 VALUES (14);
connection node_3;
INSERT INTO t1 VALUES (131);
+connection node_1;
connection node_2;
INSERT INTO t1 VALUES (22);
+connection node_1;
+connection node_2;
Killing server ...
connection node_1;
INSERT INTO t1 VALUES (21);
@@ -42,6 +47,8 @@ connection node_2;
INSERT INTO t1 VALUES (221);
connection node_4;
INSERT INTO t1 VALUES (34);
+connection node_1;
+connection node_4;
Killing server ...
connection node_1;
INSERT INTO t1 VALUES (31);
diff --git a/mysql-test/suite/galera/r/mdev-22063.result b/mysql-test/suite/galera/r/mdev-22063.result
new file mode 100644
index 00000000..155d1ebb
--- /dev/null
+++ b/mysql-test/suite/galera/r/mdev-22063.result
@@ -0,0 +1,241 @@
+connection node_2;
+connection node_1;
+# Case 1 CREATE SEQUENCE with no NOCACHE
+CREATE SEQUENCE s ENGINE=InnoDB;
+ERROR 42000: This version of MariaDB doesn't yet support 'CACHE without INCREMENT BY 0 in Galera cluster'
+CREATE SEQUENCE s NOCACHE ENGINE=InnoDB;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+START TRANSACTION;
+REPLACE INTO s VALUES (1,1,9223372036854775806,1,1,1000,0,0);
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+SELECT * FROM t1;
+a
+SELECT * FROM s;
+next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
+1 1 9223372036854775806 1 1 1000 0 0
+connection node_2;
+SELECT * FROM t1;
+a
+SELECT * FROM s;
+next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
+1 1 9223372036854775806 1 1 1000 0 0
+connection node_1;
+DROP TABLE t1;
+DROP SEQUENCE s;
+# Case 2 REPLACE INTO ... SELECT with error
+CREATE TABLE t (id INT KEY,a YEAR,INDEX (id,a)) engine=innodb;
+REPLACE INTO t (id,a)SELECT /*!99997 */ 1;
+ERROR 21S01: Column count doesn't match value count at row 1
+REPLACE INTO t (id,a)SELECT /*!99997 */ 1,2;
+SELECT * FROM t;
+id a
+1 2002
+CREATE TABLE t2 (id INT KEY,a YEAR,INDEX (id,a)) engine=myisam;
+REPLACE INTO t2 (id,a)SELECT /*!99997 */ 1;
+ERROR 21S01: Column count doesn't match value count at row 1
+REPLACE INTO t2 (id,a)SELECT /*!99997 */ 1,2;
+Warnings:
+Warning 138 Galera cluster does support consistency check only for InnoDB tables.
+SELECT * FROM t2;
+id a
+1 2002
+CREATE TABLE t3 (id INT KEY,a YEAR,INDEX (id,a)) engine=aria;
+REPLACE INTO t3 (id,a)SELECT /*!99997 */ 1;
+ERROR 21S01: Column count doesn't match value count at row 1
+REPLACE INTO t3 (id,a)SELECT /*!99997 */ 1,2;
+Warnings:
+Warning 138 Galera cluster does support consistency check only for InnoDB tables.
+SELECT * FROM t3;
+id a
+1 2002
+connection node_2;
+SELECT * FROM t;
+id a
+1 2002
+SELECT * FROM t2;
+id a
+1 2002
+SELECT * FROM t3;
+id a
+1 2002
+connection node_1;
+DROP TABLE t,t2,t3;
+# Bigger REPLACE ... AS SELECT test
+CREATE TABLE t1(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t2(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t3(id int not null primary key ,b int) ENGINE=Aria;
+CREATE TABLE t4(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t5(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t6(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t7(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t8(id int not null primary key ,b int) ENGINE=Aria;
+INSERT INTO t1(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t2(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t3(id) SELECT seq FROM seq_1_to_1000;
+REPLACE INTO t4 SELECT * FROM t1;
+REPLACE INTO t5 SELECT * FROM t2;
+REPLACE INTO t6 SELECT * FROM t3;
+REPLACE INTO t7 SELECT * FROM t2;
+REPLACE INTO t8 SELECT * FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+EXPECT_1000
+1000
+connection node_2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+EXPECT_1000
+1000
+connection node_1;
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+# Bigger INSERT INTO ... SELECT test
+CREATE TABLE t1(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t2(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t3(id int not null primary key ,b int) ENGINE=Aria;
+CREATE TABLE t4(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t5(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t6(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t7(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t8(id int not null primary key ,b int) ENGINE=Aria;
+INSERT INTO t1(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t2(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t3(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t4 SELECT * FROM t1;
+INSERT INTO t5 SELECT * FROM t2;
+INSERT INTO t6 SELECT * FROM t3;
+INSERT INTO t7 SELECT * FROM t2;
+INSERT INTO t8 SELECT * FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+EXPECT_1000
+1000
+connection node_2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+EXPECT_1000
+1000
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+EXPECT_1000
+1000
+connection node_1;
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+CREATE TABLE t1(pk int not null primary key) engine=innodb;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+pk
+1
+2
+3
+4
+5
+DROP TABLE t1;
+DROP VIEW view_t1;
+CREATE TABLE t1(pk int not null primary key) engine=myisam;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+pk
+1
+2
+3
+4
+5
+DROP TABLE t1;
+DROP VIEW view_t1;
+CREATE TABLE t1(pk int not null primary key) engine=aria;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+pk
+1
+2
+3
+4
+5
+DROP TABLE t1;
+DROP VIEW view_t1;
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/r/mdev-31285.result b/mysql-test/suite/galera/r/mdev-31285.result
index 228f62fa..58fcb385 100644
--- a/mysql-test/suite/galera/r/mdev-31285.result
+++ b/mysql-test/suite/galera/r/mdev-31285.result
@@ -1,23 +1,8 @@
connection node_2;
connection node_1;
connection node_1;
-connection node_2;
-connection node_1;
CREATE TABLE t ENGINE=InnoDB WITH SYSTEM VERSIONING AS SELECT 1 AS i;
-SHOW CREATE TABLE t;
-Table Create Table
-t CREATE TABLE `t` (
- `i` int(1) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci WITH SYSTEM VERSIONING
-SELECT * from t;
-i
-1
-DROP TABLE IF EXISTS t;
-COMMIT;
+ERROR 42000: This version of MariaDB doesn't yet support 'SYSTEM VERSIONING AS SELECT in Galera cluster'
connection node_2;
-SET SESSION wsrep_sync_wait=0;
-Killing server ...
-Starting server ...
-connection node_2;
-call mtr.add_suppression("WSREP: Event .*Write_rows_v1 apply failed:.*");
-call mtr.add_suppression("SREP: Failed to apply write set: gtid:.*");
+SHOW CREATE TABLE t;
+ERROR 42S02: Table 'test.t' doesn't exist
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#332.result b/mysql-test/suite/galera/r/mysql-wsrep#332.result
index 565979a9..16b07817 100644
--- a/mysql-test/suite/galera/r/mysql-wsrep#332.result
+++ b/mysql-test/suite/galera/r/mysql-wsrep#332.result
@@ -21,14 +21,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
@@ -64,14 +60,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
@@ -112,14 +104,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
-SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
-SET SESSION wsrep_on = 0;
-SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
-SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
diff --git a/mysql-test/suite/galera/r/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.result b/mysql-test/suite/galera/r/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.result
new file mode 100644
index 00000000..76c13fa7
--- /dev/null
+++ b/mysql-test/suite/galera/r/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.result
@@ -0,0 +1,211 @@
+connection node_2;
+connection node_1;
+#
+# MDEV-33355 Add a Galera-2-node-to-MariaDB replication MTR test cloning the slave with mariadb-backup
+#
+connect master, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connect slave, 127.0.0.1, root, , test, $NODE_MYPORT_3;
+START SLAVE;
+include/wait_for_slave_to_start.inc
+connection master;
+connection slave;
+##############################################################
+### Initial block with some transactions
+### Slave: Make sure replication is not using GTID
+connection slave;
+# Using_Gtid=No
+### Master: Create and populate t1
+connection master;
+CREATE TABLE t1(a TEXT) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#00:stmt#00 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#00:stmt#01 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#00:stmt#02 - slave run#0, before backup');
+COMMIT;
+connection slave;
+##############################################################
+### Run the last transaction before mariadb-backup --backup
+### Remember SHOW MASTER STATUS and @@gtid_binlog_pos
+### before and after the transaction.
+### Master: Rember MASTER STATUS and @@gtid_binlog_pos before tr#01
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos before tr#01
+connection slave;
+### Master: Run the actual last transaction before the backup
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#01:stmt#00 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#01:stmt#01 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#01:stmt#02 - slave run#0, before backup');
+COMMIT;
+connection slave;
+### Master: Remember MASTER STATUS and @@gtid_binlog_pos after tr#01
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos after tr#01
+connection slave;
+##############################################################
+### Running `mariadb-backup --backup,--prepare` and checking
+### that xtrabackup_slave_info and xtrabackup_binlog_info are OK
+### Slave: Create a backup
+### Slave: Prepare the backup
+### Slave: xtrabackup files:
+############################ xtrabackup_slave_info
+CHANGE MASTER TO MASTER_LOG_FILE='master_after_tr01_show_master_status_file', MASTER_LOG_POS=master_after_tr01_show_master_status_position;
+############################ xtrabackup_binlog_info
+slave_after_tr01_show_master_status_file slave_after_tr01_show_master_status_position slave_after_tr01_gtid_binlog_pos
+############################
+##############################################################
+### Run more transactions after the backup:
+### - while the slave is still running, then
+### - while the slave is shut down
+### Master: Run another transaction while the slave is still running
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup');
+INSERT INTO t1 VALUES ('tr#02:stmt#01 - slave run#0, after backup');
+INSERT INTO t1 VALUES ('tr#02:stmt@02 - slave run#0, after backup');
+COMMIT;
+connection slave;
+### Master: Remember MASTER STATUS and @@gtid_binlog_pos after tr#02
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos after tr#02
+connection slave;
+### Master: Checking SHOW BINLOG EVENTS
+connection master;
+SHOW BINLOG EVENTS IN 'master_after_tr01_show_master_status_file' FROM master_after_tr01_show_master_status_position LIMIT 0,1;
+Log_name master_after_tr01_show_master_status_file
+Pos master_after_tr01_show_master_status_position
+Event_type Gtid
+Server_id #
+End_log_pos #
+Info BEGIN GTID master_after_tr02_gtid_binlog_pos
+SHOW BINLOG EVENTS IN 'master_after_tr01_show_master_status_file' FROM master_after_tr01_show_master_status_position LIMIT 1,1;
+Log_name master_after_tr01_show_master_status_file
+Pos #
+Event_type Query_or_Annotate_rows
+Server_id #
+End_log_pos #
+Info INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup')
+### Slave: Checking SHOW BINLOG EVENTS
+connection slave;
+SHOW BINLOG EVENTS IN 'slave_after_tr01_show_master_status_file' FROM slave_after_tr01_show_master_status_position LIMIT 0,1;
+Log_name slave_after_tr01_show_master_status_file
+Pos #
+Event_type Gtid
+Server_id 1
+End_log_pos #
+Info BEGIN GTID slave_after_tr02_gtid_binlog_pos
+SHOW BINLOG EVENTS IN 'slave_after_tr01_show_master_status_file' FROM slave_after_tr01_show_master_status_position LIMIT 1,1;
+Log_name slave_after_tr01_show_master_status_file
+Pos #
+Event_type Query_or_Annotate_rows
+Server_id #
+End_log_pos #
+Info INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup')
+### Slave: Stop replication
+connection slave;
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+RESET SLAVE;
+Warnings:
+Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
+### Slave: Shutdown the server
+connection slave;
+### Master: Run a transaction while the slave is shut down
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#03:stmt#00 - after slave run#0, slave is shut down, after backup');
+INSERT INTO t1 VALUES ('tr#03:stmt#01 - after slave run#0, slave is shut down, after backup');
+INSERT INTO t1 VALUES ('tr#03:stmt#02 - after slave run#0, slave is shut down, after backup');
+COMMIT;
+##############################################################
+### Emulate starting a new virgin slave
+### Slave: Remove the data directory
+### Slave: Copy back the backup
+### Slave: Restart the server
+connection slave;
+# restart
+### Slave: Display the restored data before START SLAVE
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+### Slave: Execute the CHANGE MASTER statement to set up the host and port
+CHANGE MASTER '' TO MASTER_USER='root', MASTER_HOST='127.0.0.1', MASTER_PORT=###, MASTER_CONNECT_RETRY=1;
+### Slave: Execute the CHANGE MASTER statement from xtrabackup_slave_info
+CHANGE MASTER TO MASTER_LOG_FILE='master_after_tr01_show_master_status_file', MASTER_LOG_POS=master_after_tr01_show_master_status_position;
+Warnings:
+Note 4190 CHANGE MASTER TO is implicitly changing the value of 'Using_Gtid' from 'Slave_Pos' to 'No'
+### Slave: Execute START SLAVE
+include/start_slave.inc
+### Master: Wait for the slave to apply all master events
+connection master;
+connection slave;
+### Slave: Make sure replication is not using GTID after the slave restart
+connection slave;
+# Using_Gtid=No
+### Slave: Display the restored data after START SLAVE
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+tr#02:stmt#00 - slave run#0, after backup
+tr#02:stmt#01 - slave run#0, after backup
+tr#02:stmt@02 - slave run#0, after backup
+tr#03:stmt#00 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#01 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#02 - after slave run#0, slave is shut down, after backup
+##############################################################
+### Continue master transactions, check the new slave replicates well.
+### Master: Run a transaction after restarting replication
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#04:stmt#00 - slave run#1');
+INSERT INTO t1 VALUES ('tr#04:stmt#01 - slave run#1');
+INSERT INTO t1 VALUES ('tr#04:stmt#02 - slave run#1');
+COMMIT;
+connection slave;
+### Slave: Display the restored data + new transactions
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+tr#02:stmt#00 - slave run#0, after backup
+tr#02:stmt#01 - slave run#0, after backup
+tr#02:stmt@02 - slave run#0, after backup
+tr#03:stmt#00 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#01 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#02 - after slave run#0, slave is shut down, after backup
+tr#04:stmt#00 - slave run#1
+tr#04:stmt#01 - slave run#1
+tr#04:stmt#02 - slave run#1
+##############################################################
+### Cleanup
+### Removing the backup directory
+connection master;
+DROP TABLE t1;
+connection slave;
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+RESET SLAVE ALL;
+Warnings:
+Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
+connection master;
+set global wsrep_on=OFF;
+RESET MASTER;
+set global wsrep_on=ON;
diff --git a/mysql-test/suite/galera/r/versioning_trx_id.result b/mysql-test/suite/galera/r/versioning_trx_id.result
index df92d088..c28662dc 100644
--- a/mysql-test/suite/galera/r/versioning_trx_id.result
+++ b/mysql-test/suite/galera/r/versioning_trx_id.result
@@ -17,7 +17,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
connection node_3;
@@ -34,7 +34,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
connection node_1;
@@ -50,7 +50,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
drop table t1;
diff --git a/mysql-test/suite/galera/suite.pm b/mysql-test/suite/galera/suite.pm
index f6caecdc..4c4d26db 100644
--- a/mysql-test/suite/galera/suite.pm
+++ b/mysql-test/suite/galera/suite.pm
@@ -1,5 +1,6 @@
package My::Suite::Galera;
+use warnings;
use lib 'suite';
use wsrep::common;
@@ -63,6 +64,7 @@ push @::global_suppressions,
qr(WSREP: Failed to remove page file .*),
qr(WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*),
qr|WSREP: Sending JOIN failed: -107 \(Transport endpoint is not connected\). Will retry in new primary component.|,
+ qr|WSREP: Send action \{.* STATE_REQUEST} returned -107 \(Transport endpoint is not connected\)|,
qr|WSREP: Trying to continue unpaused monitor|,
qr|WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position|,
qr|WSREP: Failed to report last committed|,
diff --git a/mysql-test/suite/galera/t/MDEV-22232.test b/mysql-test/suite/galera/t/MDEV-22232.test
index dbd9ed1e..087d6417 100644
--- a/mysql-test/suite/galera/t/MDEV-22232.test
+++ b/mysql-test/suite/galera/t/MDEV-22232.test
@@ -18,19 +18,16 @@
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
# Run CTAS until the resulting table gets created,
-# then it gets BF aborted by ALTER.
-SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+# then it gets BF aborted by other DDL.
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_run WAIT_FOR bf_abort';
--send
CREATE TABLE t2 SELECT * FROM t1;
# Wait for CTAS to reach the table create point,
-# start executing ALTER and BF abort CTAS.
+# start executing other DDL and BF abort CTAS.
--connection node_1
-SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
---disable_result_log
---error ER_CANT_DROP_FIELD_OR_KEY
-ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
---enable_result_log
+SET DEBUG_SYNC = 'now WAIT_FOR may_run';
+TRUNCATE TABLE t1;
--connection con1
# CTAS gets BF aborted.
@@ -46,19 +43,16 @@ SET DEBUG_SYNC = 'RESET';
INSERT INTO t1 VALUES (10), (20), (30);
# Run CTAS until the resulting table gets created,
-# then it gets BF aborted by ALTER.
-SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+# then it gets BF aborted by other DDL.
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_run WAIT_FOR bf_abort';
--send
CREATE TABLE t2 SELECT * FROM t1;
# Wait for CTAS to reach the table create point,
-# start executing ALTER and BF abort CTAS.
+# start executing other DDL and BF abort CTAS.
--connection node_1
-SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
---disable_result_log
---error ER_ERROR_ON_RENAME
-ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
---enable_result_log
+SET DEBUG_SYNC = 'now WAIT_FOR may_run';
+TRUNCATE TABLE t1;
--connection con1
# CTAS gets BF aborted.
diff --git a/mysql-test/suite/galera/t/MDEV-24143.test b/mysql-test/suite/galera/t/MDEV-24143.test
index e58f147c..3aecac8c 100644
--- a/mysql-test/suite/galera/t/MDEV-24143.test
+++ b/mysql-test/suite/galera/t/MDEV-24143.test
@@ -11,7 +11,11 @@ SET SESSION autocommit=0;
SELECT * FROM t1 WHERE c1 <=0 ORDER BY c1 DESC;
--error ER_LOCK_DEADLOCK
INSERT INTO t1 VALUES (4),(3),(1),(2);
---error ER_TABLE_EXISTS_ERROR
+#
+# This is because support for CREATE TABLE ENGINE=SEQUENCE
+# is done before we check does table exists already.
+#
+--error ER_NOT_SUPPORTED_YET
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=SEQUENCE;
--error ER_CANT_DROP_FIELD_OR_KEY
ALTER TABLE t1 DROP COLUMN c2;
diff --git a/mysql-test/suite/galera/t/MDEV-25731.test b/mysql-test/suite/galera/t/MDEV-25731.test
new file mode 100644
index 00000000..893cccbb
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-25731.test
@@ -0,0 +1,34 @@
+--source include/galera_cluster.inc
+--source include/have_aria.inc
+
+--connection node_1
+SET GLOBAL wsrep_load_data_splitting=ON;
+SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+SELECT COUNT(*) AS EXPECT_6 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_6 FROM t1;
+
+--connection node_1
+ALTER TABLE t1 ENGINE=Aria;
+SET GLOBAL wsrep_mode=REPLICATE_ARIA;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
+
+--connection node_1
+ALTER TABLE t1 ENGINE=InnoDB;
+LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+SET GLOBAL wsrep_load_data_splitting=OFF;
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/t/MDEV-26499.test b/mysql-test/suite/galera/t/MDEV-26499.test
new file mode 100644
index 00000000..824b28c1
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-26499.test
@@ -0,0 +1,20 @@
+#
+# MDEV-26499
+#
+# This test reproduces some failure on mysql_shutdown() call
+# which manifests sporadically in some galera MTR tests during
+# restart of a node.
+#
+
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_2
+SET GLOBAL debug_dbug="+d,simulate_slow_client_at_shutdown";
+--source include/restart_mysqld.inc
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/MDEV-26597.test b/mysql-test/suite/galera/t/MDEV-26597.test
index 783a52ca..465f1130 100644
--- a/mysql-test/suite/galera/t/MDEV-26597.test
+++ b/mysql-test/suite/galera/t/MDEV-26597.test
@@ -18,7 +18,7 @@ SHOW WARNINGS;
SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
---let $start_mysqld_params = ""
+--let $start_mysqld_params =
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
diff --git a/mysql-test/suite/galera/t/MDEV-27276.test b/mysql-test/suite/galera/t/MDEV-27276.test
index 1c589c9e..bdce0d91 100644
--- a/mysql-test/suite/galera/t/MDEV-27276.test
+++ b/mysql-test/suite/galera/t/MDEV-27276.test
@@ -17,7 +17,7 @@
# We use concurrency facility of test MW-369 to setup the conflict between DDL and DML
#
-# Open connection node_1a here, MW-369.inc will use it later
+# Open connection node_1a here, we will use it later
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
# create FK parent table
@@ -28,14 +28,51 @@ CREATE TABLE p (id INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
--let $mw_369_parent_query = INSERT INTO p VALUES(1,0)
--let $mw_369_child_query = CREATE TABLE c(id INT NOT NULL PRIMARY KEY, p_id INT, FOREIGN KEY (p_id) REFERENCES p(id) ON DELETE CASCADE) ENGINE=InnoDB
-# execute above queries through separate nodes
---source MW-369.inc
+--connection node_1
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+--eval $mw_369_parent_query
+
+#
+# Block the $mw_369_child_query from node_2
+#
+# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_set_sync_point.inc
+
+#
+# insert client row, which will make it impossible to replay the
+# delete on parent
+#
+--connection node_2
+--eval $mw_369_child_query
+
+#
+# Wait until $mw_369_child_query from node_2 reaches the sync point and
+# block the 'COMMIT' from node_1 before it certifies.
+#
+--connection node_1a
+--source include/galera_wait_sync_point.inc
+--source include/galera_clear_sync_point.inc
+
+--connection node_1
+--send COMMIT
+
+--connection node_1a
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_signal_sync_point.inc
+--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
--error ER_LOCK_DEADLOCK
--reap
+--connection node_1a
+SET SESSION DEBUG_SYNC = "RESET";
+
--connection node_2
SELECT * FROM p;
SELECT * FROM c;
diff --git a/mysql-test/suite/galera/t/MDEV-29142.test b/mysql-test/suite/galera/t/MDEV-29142.test
index 7e9776b0..f7a8b329 100644
--- a/mysql-test/suite/galera/t/MDEV-29142.test
+++ b/mysql-test/suite/galera/t/MDEV-29142.test
@@ -50,12 +50,12 @@ SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
---let $start_mysqld_params = "--wsrep-new-cluster"
+--let $start_mysqld_params =--wsrep-new-cluster
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/start_mysqld.inc
--connection node_2
---let $start_mysqld_params = ""
+--let $start_mysqld_params =
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
diff --git a/mysql-test/suite/galera/t/MDEV-33136.test b/mysql-test/suite/galera/t/MDEV-33136.test
new file mode 100644
index 00000000..12765ef6
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-33136.test
@@ -0,0 +1,44 @@
+#
+# MDEV-33136: Properly BF-abort user transactions with explicit locks
+#
+# User transactions may acquire explicit MDL locks from InnoDB level
+# when persistent statistics is re-read for a table.
+# If such a transaction would be subject to BF-abort, it was improperly
+# detected as a system transaction and wouldn't get aborted.
+#
+# The fix: Check if a transaction holding explicit MDL locks is a user
+# transaction in the MDL conflict handling code.
+
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+--source include/have_debug.inc
+
+--connect node_1a,127.0.0.1,root,,test,$NODE_MYPORT_1
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_1a
+TRUNCATE TABLE t1;
+# TRUNCATE forces the next statement to re-read statistics from persistent storage,
+# which will acquire MDL locks on the statistics tables in InnoDB.
+SET SESSION wsrep_retry_autocommit = 0;
+SET DEBUG_SYNC = 'dict_stats_mdl_acquired SIGNAL may_toi WAIT_FOR bf_abort';
+--send
+ INSERT INTO t1 VALUES (1);
+
+--connection node_1
+SET DEBUG_SYNC = 'now WAIT_FOR may_toi';
+TRUNCATE TABLE t1;
+
+--connection node_1a
+# Local INSERT gets aborted.
+--error ER_LOCK_DEADLOCK
+--reap
+
+# Cleanup
+--connection node_1
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+--disconnect node_1a
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/MDEV-33828.cnf b/mysql-test/suite/galera/t/MDEV-33828.cnf
new file mode 100644
index 00000000..4c62448f
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-33828.cnf
@@ -0,0 +1,4 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+log-bin
diff --git a/mysql-test/suite/galera/t/MDEV-33828.test b/mysql-test/suite/galera/t/MDEV-33828.test
new file mode 100644
index 00000000..8e30481b
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-33828.test
@@ -0,0 +1,45 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_aria.inc
+
+SET AUTOCOMMIT=ON;
+SELECT @@autocommit;
+
+SET LOCAL enforce_storage_engine=InnoDB;
+
+CREATE TABLE t1(id int not null primary key auto_increment, name varchar(64)) ENGINE=InnoDB;
+INSERT INTO t1(name) VALUES ('name1'),('name3'),('name6'),('name2');
+
+DELIMITER |;
+CREATE PROCEDURE sel_proc()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SELECT * FROM t1;
+END|
+
+CREATE PROCEDURE ins_proc()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ INSERT INTO t1 VALUES ('name_proc');
+END|
+DELIMITER ;|
+
+SET AUTOCOMMIT=OFF;
+SELECT @@autocommit;
+
+START TRANSACTION;
+
+insert into t1(name) values('name10');
+
+select param_list, returns, db, type from mysql.proc where name='sel_proc';
+
+call ins_proc();
+
+COMMIT;
+
+SET AUTOCOMMIT=ON;
+
+SELECT * FROM t1;
+DROP TABLE t1;
+DROP PROCEDURE sel_proc;
+DROP PROCEDURE ins_proc;
diff --git a/mysql-test/suite/galera/t/MW-336.cnf b/mysql-test/suite/galera/t/MW-336.cnf
index e68f8917..da97be5f 100644
--- a/mysql-test/suite/galera/t/MW-336.cnf
+++ b/mysql-test/suite/galera/t/MW-336.cnf
@@ -2,6 +2,8 @@
[mysqld.1]
wsrep-debug=SERVER
+loose-wsrep-mw-336=1
[mysqld.2]
wsrep-debug=SERVER
+loose-wsrep-mw-336=2
diff --git a/mysql-test/suite/galera/t/MW-336.test b/mysql-test/suite/galera/t/MW-336.test
index 83943c7d..29a70978 100644
--- a/mysql-test/suite/galera/t/MW-336.test
+++ b/mysql-test/suite/galera/t/MW-336.test
@@ -3,11 +3,12 @@
#
--source include/galera_cluster.inc
---source include/have_innodb.inc
--source include/force_restart.inc
+--source include/have_sequence.inc
--connection node_1
-CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET @wsrep_slave_threads_orig = @@wsrep_slave_threads;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) Engine=InnoDB;
SET GLOBAL wsrep_slave_threads = 10;
@@ -22,7 +23,7 @@ SELECT VARIABLE_VALUE AS EXPECT_10 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE V
SET GLOBAL wsrep_slave_threads = 1;
--connection node_2
-INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (NULL);
--connection node_1
--echo # Wait until one of the appliers has exited
@@ -54,27 +55,19 @@ SELECT VARIABLE_VALUE AS EXPECT_20 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE V
SET GLOBAL wsrep_slave_threads = 1;
--connection node_2
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-INSERT INTO t1 VALUES (7);
-INSERT INTO t1 VALUES (8);
-INSERT INTO t1 VALUES (9);
-INSERT INTO t1 VALUES (10);
-INSERT INTO t1 VALUES (11);
-INSERT INTO t1 VALUES (12);
-INSERT INTO t1 VALUES (13);
-INSERT INTO t1 VALUES (14);
-INSERT INTO t1 VALUES (16);
-INSERT INTO t1 VALUES (17);
-INSERT INTO t1 VALUES (18);
-INSERT INTO t1 VALUES (19);
-INSERT INTO t1 VALUES (20);
+--disable_query_log
+let $c = 50;
+while ($c) {
+INSERT INTO t1 VALUES(NULL); COMMIT;
+dec $c;
+}
+--enable_query_log
--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 51 FROM t1;
+--let $wait_condition_on_error_output = SELECT COUNT(*) FROM t1;
+--source include/wait_condition_with_debug.inc
+
--echo # Wait until 19 of the appliers has exited
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
--let $wait_condition_on_error_output = SELECT COUNT(*), 1 as EXPECTED_VALUE FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep applier idle'; show processlist
@@ -82,7 +75,7 @@ INSERT INTO t1 VALUES (20);
SELECT VARIABLE_VALUE AS EXPECT_1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
-SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) AS EXPECT_51 FROM t1;
SET GLOBAL wsrep_slave_threads = 10;
--echo # Set slave threads to 10 step 3
@@ -96,16 +89,13 @@ SELECT VARIABLE_VALUE AS EXPECT_10 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE V
SET GLOBAL wsrep_slave_threads = 1;
--connection node_2
-INSERT INTO t1 VALUES (21);
-INSERT INTO t1 VALUES (22);
-INSERT INTO t1 VALUES (23);
-INSERT INTO t1 VALUES (24);
-INSERT INTO t1 VALUES (25);
-INSERT INTO t1 VALUES (26);
-INSERT INTO t1 VALUES (27);
-INSERT INTO t1 VALUES (28);
-INSERT INTO t1 VALUES (29);
-INSERT INTO t1 VALUES (30);
+--disable_query_log
+let $c = 50;
+while ($c) {
+INSERT INTO t1 VALUES(NULL); COMMIT;
+dec $c;
+}
+--enable_query_log
--connection node_1
--echo # Wait until slave threads back to 1
@@ -115,6 +105,10 @@ INSERT INTO t1 VALUES (30);
SELECT VARIABLE_VALUE AS EXPECT_1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
-SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) AS EXPECT_101 FROM t1;
DROP TABLE t1;
+
+--disable_query_log
+SET GLOBAL wsrep_slave_threads = @wsrep_slave_threads_orig;
+--enable_query_log
diff --git a/mysql-test/suite/galera/t/MW-369.inc b/mysql-test/suite/galera/t/MW-369.inc
index 71df979d..f080d99f 100644
--- a/mysql-test/suite/galera/t/MW-369.inc
+++ b/mysql-test/suite/galera/t/MW-369.inc
@@ -12,9 +12,9 @@
# START TRANSACTION;
# $mw_369_parent_query
# node_2
-# $mw_369_child_query - will be blocked on node_1 in apply monitor
+# $mw_369_child_query - will be blocked on node_1 in wsrep_apply_cb
# node_1:
-# COMMIT; - will be blocked on node_1 in local monitor
+# COMMIT; - will be blocked on node_1 in wsrep_after_certification
#
# The $mw_369_child_query is always expected to succeed. The caller is
# responsible for checking if the final COMMIT on connection node_1
@@ -32,8 +32,7 @@ START TRANSACTION;
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
---let $galera_sync_point = apply_monitor_slave_enter_sync
---source include/galera_set_sync_point.inc
+SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
#
# insert client row, which will make it impossible to replay the
@@ -47,28 +46,37 @@ SET SESSION wsrep_sync_wait = 0;
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
---source include/galera_wait_sync_point.inc
---source include/galera_clear_sync_point.inc
-
---let $galera_sync_point = local_monitor_master_enter_sync
---source include/galera_set_sync_point.inc
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
--connection node_1
+SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
--send COMMIT
#
# Wait until both sync points have been reached
#
--connection node_1a
---let $galera_sync_point = apply_monitor_slave_enter_sync local_monitor_master_enter_sync
---source include/galera_wait_sync_point.inc
+SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
#
# both threads are now parked in sync points, signal them to continue
#
---let $galera_sync_point = apply_monitor_slave_enter_sync
---source include/galera_signal_sync_point.inc
---let $galera_sync_point = local_monitor_master_enter_sync
---source include/galera_signal_sync_point.inc
---source include/galera_clear_sync_point.inc
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
+--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
+--source include/wait_condition_with_debug.inc
+
+SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
+--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
+--source include/wait_condition_with_debug.inc
+
+SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
+
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
+--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
+--source include/wait_condition_with_debug.inc
+
+SET GLOBAL DEBUG_DBUG = "";
+SET DEBUG_SYNC = 'RESET';
diff --git a/mysql-test/suite/galera/t/MW-369.test b/mysql-test/suite/galera/t/MW-369.test
index c8f8c974..0efac20d 100644
--- a/mysql-test/suite/galera/t/MW-369.test
+++ b/mysql-test/suite/galera/t/MW-369.test
@@ -24,7 +24,6 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/have_debug_sync.inc
---source include/galera_have_debug_sync.inc
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_mariabackup.test b/mysql-test/suite/galera/t/galera_bf_abort_mariabackup.test
index 34c3f5d3..ed16ac39 100644
--- a/mysql-test/suite/galera/t/galera_bf_abort_mariabackup.test
+++ b/mysql-test/suite/galera/t/galera_bf_abort_mariabackup.test
@@ -13,7 +13,7 @@
CREATE TABLE t(i INT NOT NULL PRIMARY KEY) ENGINE INNODB;
INSERT INTO t VALUES(1);
#
-# In default settings donor should desync
+# In default settings donor should not desync
#
--echo # Restart node_2, force SST.
--connection node_2
@@ -37,7 +37,7 @@ let $restart_noprint=2;
--connection node_1
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err;
---echo # Both should return FOUND 2 as we have bootstrap and SST
+--echo # Both should return NOT FOUND as we have mariabackup with backup locks
let SEARCH_PATTERN = Desyncing and pausing the provider;
--source include/search_pattern_in_file.inc
let SEARCH_PATTERN = Resuming and resyncing the provider;
@@ -76,7 +76,7 @@ let $restart_noprint=2;
--connection node_1
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err;
---echo # Both should return FOUND 3 as we have 1 new SST
+--echo # Both should return NOT FOUND as we have mariabackup with backup locks
let SEARCH_PATTERN = Desyncing and pausing the provider;
--source include/search_pattern_in_file.inc
let SEARCH_PATTERN = Resuming and resyncing the provider;
@@ -117,13 +117,16 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup2;
--enable_result_log
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.2.err;
---echo # Both should return FOUND 1 as node should not desync
+--echo # Both should return FOUND 2 because both backups do desync but on different points
let SEARCH_PATTERN = Desyncing and pausing the provider;
--source include/search_pattern_in_file.inc
let SEARCH_PATTERN = Resuming and resyncing the provider;
--source include/search_pattern_in_file.inc
---echo # Should return FOUND 1 because only last backup does not desync
-let SEARCH_PATTERN = Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used.;
+--echo # Should return FOUND 1 as server did not desync at BLOCK_DDL
+let SEARCH_PATTERN = Server not desynched from group at BLOCK_DDL because WSREP_MODE_BF_MARIABACKUP is used.;
+--source include/search_pattern_in_file.inc
+--echo # Should return FOUND 1 as server did desync and pause at BLOCK_COMMIT
+let SEARCH_PATTERN = Server desynched from group during BACKUP STAGE BLOCK_COMMIT.;
--source include/search_pattern_in_file.inc
SET GLOBAL wsrep_mode = "";
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf
index f2187b83..ffd2306b 100644
--- a/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf
@@ -10,9 +10,11 @@ ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
[mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+innodb-log-file-buffering
[mysqld.2]
wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+innodb-log-file-buffering
[sst]
ssl-mode=VERIFY_CA
diff --git a/mysql-test/suite/galera/t/galera_ist_restart_joiner.test b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
index b36a0de5..940b511f 100644
--- a/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
+++ b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
@@ -37,7 +37,7 @@ UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
# Write file to make mysql-test-run.pl expect the crash, but don't start it
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
---exec echo "wait" > $_expect_file_name
+--write_line wait $_expect_file_name
--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
diff --git a/mysql-test/suite/galera/t/galera_load_data.test b/mysql-test/suite/galera/t/galera_load_data.test
index c37920a4..252580f9 100644
--- a/mysql-test/suite/galera/t/galera_load_data.test
+++ b/mysql-test/suite/galera/t/galera_load_data.test
@@ -30,8 +30,308 @@ CREATE TABLE cardtest_tbl (
LOCK TABLES cardtest_tbl WRITE;
ALTER TABLE cardtest_tbl DISABLE KEYS;
-INSERT INTO cardtest_tbl VALUES (1,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(2,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(3,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(4,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(5,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(6,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(7,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(8,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(9,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(10,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(11,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(12,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(13,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(14,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(15,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(16,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(17,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(18,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(19,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(20,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(21,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(22,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(23,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(24,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(25,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(26,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(27,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(28,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(29,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(30,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(31,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(32,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(33,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(34,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(35,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(36,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(37,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(38,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(39,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(40,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(41,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(42,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(43,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(44,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(45,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(46,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(47,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(48,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(49,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(50,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(51,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(52,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(53,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(54,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(55,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(56,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(57,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(58,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(59,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(60,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(61,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(62,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(63,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(64,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(65,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(66,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(67,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(68,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(69,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(70,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(71,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(72,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(73,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(74,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(75,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(76,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(77,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(78,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(79,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(80,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(81,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(82,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(83,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(84,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(85,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(86,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(87,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(88,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(89,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(90,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(91,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(92,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(93,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(94,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(95,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(96,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(97,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(98,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(99,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(100,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(101,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(102,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(103,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(104,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(105,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(106,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(107,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(108,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(109,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(110,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(111,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(112,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(113,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(114,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(115,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(116,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(117,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(118,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(119,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(120,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(121,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(122,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(123,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(124,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(125,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(126,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(127,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(128,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(129,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(130,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(131,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(132,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(133,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(134,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(135,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(136,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(137,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(138,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(139,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(140,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(141,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(142,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(143,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(144,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(145,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(146,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(147,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(148,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(149,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(150,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(151,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(152,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(153,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(154,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(155,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(156,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(157,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(158,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(159,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(160,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(161,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(162,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(163,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(164,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(165,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(166,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(167,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(168,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(169,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(170,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(171,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(172,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(173,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(174,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(175,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(176,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(177,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(178,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(179,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(180,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(181,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(182,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(183,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(184,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(185,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(186,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(187,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(188,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(189,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(190,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(191,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(192,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(193,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(194,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(195,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(196,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(197,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(198,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(199,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(200,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(201,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(202,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(203,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(204,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(205,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(206,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(207,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(208,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(209,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(210,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(211,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(212,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(213,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(214,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(215,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(216,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(217,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(218,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(219,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(220,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(221,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(222,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(223,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(224,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(225,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(226,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(227,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(228,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(229,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(230,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(231,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(232,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(233,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(234,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(235,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(236,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(237,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(238,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(239,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(240,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(241,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(242,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(243,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(244,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(245,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(246,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(247,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(248,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(249,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(250,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(251,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(252,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(253,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(254,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(255,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(256,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(257,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(258,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(259,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(260,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(261,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(262,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(263,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(264,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(265,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(266,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(267,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(268,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(269,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(270,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(271,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(272,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(273,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(274,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(275,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(276,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(277,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(278,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(279,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(280,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(281,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(282,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(283,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(284,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(285,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(286,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(287,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(288,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(289,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(290,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(291,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(292,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(293,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(294,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(295,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(296,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(297,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(298,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(299,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(300,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),(301,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL);
-
+INSERT INTO cardtest_tbl VALUES
+ (1,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (2,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (3,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (4,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (5,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (6,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (7,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (8,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (9,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (10,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (11,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (12,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (13,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (14,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (15,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (16,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (17,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (18,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (19,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (20,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (21,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (22,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (23,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (24,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (25,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (26,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (27,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (28,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (29,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (30,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (31,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (32,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (33,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (34,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (35,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (36,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (37,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (38,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (39,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (40,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (41,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (42,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (43,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (44,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (45,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (46,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (47,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (48,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (49,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (50,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (51,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (52,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (53,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (54,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (55,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (56,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (57,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (58,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (59,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (60,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (61,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (62,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (63,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (64,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (65,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (66,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (67,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (68,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (69,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (70,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (71,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (72,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (73,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (74,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (75,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (76,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (77,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (78,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (79,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (80,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (81,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (82,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (83,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (84,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (85,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (86,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (87,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (88,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (89,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (90,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (91,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (92,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (93,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (94,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (95,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (96,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (97,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (98,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (99,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (100,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (101,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (102,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (103,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (104,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (105,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (106,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (107,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (108,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (109,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (110,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (111,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (112,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (113,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (114,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (115,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (116,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (117,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (118,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (119,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (120,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (121,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (122,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (123,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (124,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (125,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (126,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (127,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (128,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (129,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (130,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (131,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (132,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (133,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (134,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (135,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (136,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (137,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (138,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (139,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (140,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (141,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (142,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (143,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (144,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (145,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (146,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (147,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (148,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (149,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (150,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (151,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (152,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (153,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (154,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (155,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (156,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (157,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (158,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (159,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (160,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (161,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (162,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (163,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (164,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (165,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (166,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (167,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (168,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (169,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (170,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (171,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (172,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (173,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (174,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (175,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (176,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (177,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (178,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (179,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (180,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (181,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (182,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (183,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (184,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (185,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (186,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (187,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (188,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (189,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (190,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (191,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (192,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (193,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (194,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (195,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (196,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (197,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (198,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (199,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (200,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (201,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (202,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (203,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (204,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (205,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (206,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (207,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (208,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (209,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (210,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (211,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (212,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (213,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (214,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (215,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (216,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (217,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (218,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (219,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (220,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (221,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (222,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (223,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (224,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (225,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (226,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (227,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (228,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (229,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (230,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (231,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (232,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (233,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (234,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (235,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (236,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (237,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (238,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (239,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (240,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (241,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (242,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (243,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (244,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (245,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (246,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (247,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (248,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (249,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (250,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (251,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (252,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (253,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (254,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (255,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (256,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (257,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (258,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (259,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (260,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (261,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (262,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (263,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (264,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (265,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (266,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (267,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (268,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (269,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (270,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (271,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (272,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (273,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (274,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (275,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (276,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (277,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (278,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (279,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (280,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (281,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (282,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (283,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (284,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (285,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (286,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (287,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (288,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (289,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (290,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (291,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (292,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (293,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (294,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (295,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (296,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (297,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (298,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (299,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (300,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL),
+ (301,1,'','',1,1466430455,1471454450,NULL,10.00000,1,NULL,'','',NULL,NULL,1,NULL,NULL);
ALTER TABLE cardtest_tbl ENABLE KEYS;
UNLOCK TABLES;
diff --git a/mysql-test/suite/galera/t/galera_mdl_race.test b/mysql-test/suite/galera/t/galera_mdl_race.test
index ad6770f9..3341a379 100644
--- a/mysql-test/suite/galera/t/galera_mdl_race.test
+++ b/mysql-test/suite/galera/t/galera_mdl_race.test
@@ -3,70 +3,92 @@
#
--source include/galera_cluster.inc
+--source include/have_debug.inc
--source include/have_debug_sync.inc
+--connection node_1
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=innodb;
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=innodb;
INSERT INTO t1 VALUES (1, 'a');
INSERT INTO t1 VALUES (2, 'a');
---connection node_1
SET AUTOCOMMIT=ON;
START TRANSACTION;
-
UPDATE t1 SET f2 = 'b' WHERE f1 = 1;
# block access to t2
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
+SET SESSION wsrep_sync_wait=0;
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2'
+--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.TABLES
+--source include/wait_condition_with_debug.inc
LOCK TABLE t2 WRITE;
-# Block before MLD lock wait
+# Block before MDL lock wait
--connection node_1
- SET @@debug_dbug = "d,sync.wsrep_before_mdl_wait";
+SET DEBUG_SYNC= 'wsrep_before_mdl_wait SIGNAL before_mdl_wait WAIT_FOR mdl_wait_continue';
--send SELECT * FROM t2;
-# Wait for SELECT to be blocked
--connection node_1a
-#--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIS WHERE STATE = 'System lock';
-#--source include/wait_condition.inc
-#--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'init' AND INFO = 'COMMIT';
-#--source include/wait_condition.inc
+--echo # Wait until select is blocked before MDL lock wait
+SET DEBUG_SYNC= 'now WAIT_FOR before_mdl_wait';
# block applier to wait after BF victim is locked
+--connection node_1a
SET @@debug_dbug = "d,sync.wsrep_after_BF_victim_lock";
# Issue a conflicting update on node #2
--connection node_2
UPDATE t1 SET f2 = 'c' WHERE f1 = 1;
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1b
+SET SESSION wsrep_sync_wait=0;
+--echo # Wait for conflicting update to block
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Update_rows_log_event:%';
+--source include/wait_condition.inc
+
# Unblock the SELECT, to enter wsrep_thd_is_BF
---connection node_1a
-SET @@debug_dbug = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_before_mdl_wait";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
+
+--connect node_1c, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1c
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Update_rows_log_event:%';
+--source include/wait_condition.inc
+--connection node_1a
# unblock applier to try to BF the SELECT
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
+SET DEBUG_SYNC = "now SIGNAL BF_victim_continue";
# table lock is not needed anymore
UNLOCK TABLES;
-# SELECT succeeds
+# SELECT returns deadlock
--connection node_1
-
--error ER_LOCK_DEADLOCK
--reap
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+--connection node_1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'a';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'c';
+SELECT * FROM t1;
--connection node_2
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'a';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'c';
+SELECT * FROM t1;
DROP TABLE t1;
DROP TABLE t2;
--connection node_1a
SET DEBUG_SYNC = "RESET";
+--connection node_1b
+SET DEBUG_SYNC = "RESET";
+
+--connection node_1
+--disconnect node_1a
+--disconnect node_1b
+--disconnect node_1c
diff --git a/mysql-test/suite/galera/t/galera_myisam_autocommit.test b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
index 3452a06a..0612aabb 100644
--- a/mysql-test/suite/galera/t/galera_myisam_autocommit.test
+++ b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
@@ -2,22 +2,24 @@
--source include/have_innodb.inc
#
-# This tests simple autocommit replication of MyISAM tables. No updates arrive on the slave.
+# This tests simple autocommit replication of MyISAM tables.
#
-# Without a PK
-
SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+# Without a PK
+
CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2), (3);
+# This is TOI
INSERT INTO t1 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=MyISAM;
INSERT INTO t2 VALUES (1);
INSERT INTO t2 VALUES (2), (3);
+# This is TOI
INSERT INTO t2 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
# Error
@@ -34,16 +36,26 @@ UPDATE t2 SET f1 = 9 WHERE f1 = 1;
DELETE FROM t1 WHERE f1 = 9;
DELETE FROM t2 WHERE f1 = 9;
+SELECT * FROM t1 ORDER BY f1;
+SELECT * FROM t2 ORDER BY f1;
+
+--connection node_2
+SELECT * FROM t1 ORDER BY f1;
+SELECT * FROM t2 ORDER BY f1;
+
# TRUNCATE
TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+
+SELECT * FROM t1 ORDER BY f1;
+SELECT * FROM t2 ORDER BY f1;
--connection node_2
-SELECT COUNT(*) = 0 FROM t1;
-SELECT COUNT(*) = 0 FROM t2;
+SELECT * FROM t1 ORDER BY f1;
+SELECT * FROM t2 ORDER BY f1;
--connection node_1
+SET GLOBAL wsrep_mode=DEFAULT;
DROP TABLE t1;
DROP TABLE t2;
-SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test b/mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test
index 2e9f05cb..b49253ef 100644
--- a/mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test
+++ b/mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test
@@ -32,7 +32,7 @@ INSERT INTO t2 VALUES (1);
--connection node_2a
--sleep 1
SET SESSION wsrep_sync_wait=0;
-SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committing%' or STATE = 'Waiting for certification');
+SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE 'Commit' or STATE = 'Waiting for certification');
SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%';
SELECT COUNT(*) AS EXPECT_0 FROM t1;
SELECT COUNT(*) AS EXPECT_0 FROM t2;
diff --git a/mysql-test/suite/galera/t/galera_parallel_simple.test b/mysql-test/suite/galera/t/galera_parallel_simple.test
index d49dc0ae..89adaf8c 100644
--- a/mysql-test/suite/galera/t/galera_parallel_simple.test
+++ b/mysql-test/suite/galera/t/galera_parallel_simple.test
@@ -51,7 +51,7 @@ SET SESSION wsrep_sync_wait = 0;
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%';
--source include/wait_condition.inc
---let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'committing%';
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Commit';
--source include/wait_condition.inc
UNLOCK TABLES;
diff --git a/mysql-test/suite/galera/t/galera_pc_recovery.test b/mysql-test/suite/galera/t/galera_pc_recovery.test
index 1621414a..16abe6fc 100644
--- a/mysql-test/suite/galera/t/galera_pc_recovery.test
+++ b/mysql-test/suite/galera/t/galera_pc_recovery.test
@@ -27,8 +27,8 @@ INSERT INTO t1 VALUES (1);
SELECT COUNT(*) = 1 FROM t1;
--let $NODE_2_PIDFILE = `SELECT @@pid_file`
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--exec kill -9 `cat $NODE_1_PIDFILE` `cat $NODE_2_PIDFILE`
# Perform --wsrep-recover and preserve the positions into variables by placing them in $MYSQL_TMP_DIR/galera_wsrep_start_position.inc and then --source'ing it
@@ -66,8 +66,8 @@ if ($galera_wsrep_start_position2 == '') {
# Instruct MTR to perform the actual restart using --wsrep-start-position . Proper --wsrep_cluster_address is used as my.cnf only contains 'gcomm://' for node #1
---exec echo "restart: --wsrep-start-position=$galera_wsrep_start_position1 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---exec echo "restart: --wsrep-start-position=$galera_wsrep_start_position2 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line "restart: --wsrep-start-position=$galera_wsrep_start_position1 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart: --wsrep-start-position=$galera_wsrep_start_position2 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--sleep 5
--connection node_1
diff --git a/mysql-test/suite/galera/t/galera_restart_on_unknown_option.test b/mysql-test/suite/galera/t/galera_restart_on_unknown_option.test
index 6a0f24db..e3a8b749 100644
--- a/mysql-test/suite/galera/t/galera_restart_on_unknown_option.test
+++ b/mysql-test/suite/galera/t/galera_restart_on_unknown_option.test
@@ -62,7 +62,7 @@ SELECT * FROM t1;
--let $start_mysqld_params=--galera-unknown-option
--echo Starting server ...
---exec echo "try:$start_mysqld_params" > $_expect_file_name
+--write_line "try:$start_mysqld_params" $_expect_file_name
# Sleep to ensure that server exited...
@@ -107,7 +107,7 @@ SELECT * FROM t1;
--let $start_mysqld_params=--galera-unknown-option
--echo Starting server ...
---exec echo "try:$start_mysqld_params" > $_expect_file_name
+--write_line "try:$start_mysqld_params" $_expect_file_name
# Sleep to ensure that server exited...
diff --git a/mysql-test/suite/galera/t/galera_sequence_engine.test b/mysql-test/suite/galera/t/galera_sequence_engine.test
new file mode 100644
index 00000000..47107dcc
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sequence_engine.test
@@ -0,0 +1,16 @@
+--source include/galera_cluster.inc
+--source include/have_sequence.inc
+
+SET GLOBAL wsrep_ignore_apply_errors=0;
+SET SESSION AUTOCOMMIT=0;
+SET SESSION max_error_count=0;
+--error ER_NOT_SUPPORTED_YET
+CREATE TABLE t0 (id GEOMETRY,parent_id GEOMETRY)ENGINE=SEQUENCE;
+
+--connection node_2
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t0;
+
+--connection node_1
+SET GLOBAL wsrep_ignore_apply_errors=DEFAULT;
+
diff --git a/mysql-test/suite/galera/t/galera_shutdown_nonprim.test b/mysql-test/suite/galera/t/galera_shutdown_nonprim.test
index cf7018cd..d1a1c914 100644
--- a/mysql-test/suite/galera/t/galera_shutdown_nonprim.test
+++ b/mysql-test/suite/galera/t/galera_shutdown_nonprim.test
@@ -16,21 +16,27 @@ SET GLOBAL wsrep_provider_options = 'pc.weight=2';
--connection node_2
# Isolate node_2 from the group and wait until wsrep_ready becomes OFF.
-SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
SET SESSION wsrep_sync_wait = 0;
---let $wait_condition = SELECT VARIABLE_VALUE = 'OFF' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
+
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = 'OFF' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'
+--source include/wait_condition.inc
+SHOW STATUS LIKE 'wsrep_cluster_status';
# Verify that graceful shutdown succeeds.
--source include/shutdown_mysqld.inc
---source include/start_mysqld.inc
---let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
---source include/wait_condition.inc
+--source include/start_mysqld.inc
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
# Restore original settings.
SET GLOBAL wsrep_provider_options = 'pc.weight = 1';
+
--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf b/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf
index 857a4101..6cb80831 100644
--- a/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf
@@ -7,9 +7,14 @@ wsrep_debug=1
[mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+innodb_fast_shutdown=0
+innodb_undo_tablespaces=0
[mysqld.2]
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+innodb_fast_shutdown=0
+innodb_undo_tablespaces=3
+innodb_log_file_buffering
[sst]
transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup.test b/mysql-test/suite/galera/t/galera_sst_mariabackup.test
index bcb9ade3..7dead49e 100644
--- a/mysql-test/suite/galera/t/galera_sst_mariabackup.test
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup.test
@@ -8,12 +8,39 @@
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
+--connection node_1
+select @@innodb_undo_tablespaces;
+
+--connection node_2
+select @@innodb_undo_tablespaces;
+
--source suite/galera/include/galera_st_shutdown_slave.inc
--source suite/galera/include/galera_st_clean_slave.inc
--source suite/galera/include/galera_st_kill_slave.inc
--source suite/galera/include/galera_st_kill_slave_ddl.inc
+--connection node_2
+--echo Shutting down server ...
+--source include/shutdown_mysqld.inc
+
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+--connection node_2
+--echo Starting server ...
+--source include/start_mysqld.inc
+
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+--connection node_2
+select @@innodb_undo_tablespaces;
+
+call mtr.add_suppression("InnoDB: Cannot change innodb_undo_tablespaces=3 because previous shutdown was not with innodb_fast_shutdown=0");
+
# Restore original auto_increment_offset values.
--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_table_with_hyphen.inc b/mysql-test/suite/galera/t/galera_table_with_hyphen.inc
new file mode 100644
index 00000000..ac79d864
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_table_with_hyphen.inc
@@ -0,0 +1,48 @@
+#
+# parameters:
+# $fk_child - child table name
+# $fk_parent - parent table name
+#
+--connection node_1
+SET GLOBAL wsrep_slave_threads=2;
+
+--eval CREATE TABLE `$fk_parent` ( id INT AUTO_INCREMENT PRIMARY KEY, j INT) ENGINE=InnoDB
+
+--eval CREATE TABLE `$fk_child` (id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT, j INT, FOREIGN KEY (parent_id) REFERENCES `$fk_parent`(id)) ENGINE=InnoDB
+
+--eval INSERT INTO `$fk_parent` VALUES (23,0)
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM `$fk_parent`;
+--source include/wait_condition.inc
+
+--connection node_1a
+SET GLOBAL DEBUG_DBUG='+d,wsrep_ha_write_row';
+
+--connection node_2
+--eval INSERT INTO `$fk_child` VALUES (21,23,0),(22,23,0),(23,23,0)
+
+--connection node_1a
+SET DEBUG_SYNC='now WAIT_FOR wsrep_ha_write_row_reached';
+
+--let $wsrep_received_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_received'`
+
+--connection node_2
+--eval UPDATE `$fk_parent` SET j=2 WHERE id=23
+
+--connection node_1a
+--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_received_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_received'
+--source include/wait_condition.inc
+
+SET GLOBAL DEBUG_DBUG='-d,wsrep_ha_write_row';
+SET DEBUG_SYNC='now SIGNAL wsrep_ha_write_row_continue';
+
+SET GLOBAL DEBUG_DBUG="RESET";
+SET DEBUG_SYNC = 'RESET';
+
+SET GLOBAL wsrep_slave_threads=DEFAULT;
+
+--connection node_2
+--eval drop table `$fk_child`
+--eval drop table `$fk_parent`
+
diff --git a/mysql-test/suite/galera/t/galera_table_with_hyphen.test b/mysql-test/suite/galera/t/galera_table_with_hyphen.test
new file mode 100644
index 00000000..1b28bdeb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_table_with_hyphen.test
@@ -0,0 +1,34 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+#
+# Testing how tables and databases with special characters
+# are treated in certification
+#
+# The test creates two tables having foreign key constraint
+# reference and executes two transactions which modify
+# same rows. The same test is executed with different names
+# containin special characters to see if the certification
+# can detect the conflicts
+#
+# Actual test is in include file galera_table_with_hyphen.inc
+# It create the test tables from parameters $fk_child and
+# $fk_parent
+#
+--connection node_1
+set wsrep_sync_wait=0;
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET SESSION wsrep_sync_wait = 0;
+
+--let $fk_child = child
+--let $fk_parent = par-ent
+
+--source galera_table_with_hyphen.inc
+
+--let $fk_child = c-hild
+--let $fk_parent = p-arent-
+
+--source galera_table_with_hyphen.inc
diff --git a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.cnf b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.cnf
index 022cfcdc..b2cba42c 100644
--- a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.cnf
+++ b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.cnf
@@ -2,9 +2,3 @@
[mysqld]
wsrep-ignore-apply-errors=0
-
-[mysqld.3]
-auto_increment_offset=3
-
-[mysqld.4]
-auto_increment_offset=4
diff --git a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
index 5e74af4a..e21c271c 100644
--- a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
+++ b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
@@ -6,25 +6,15 @@
--source include/galera_cluster.inc
--source include/big_test.inc
-# Save original auto_increment_offset values.
---let $node_1=node_1
---let $node_2=node_2
---source include/auto_increment_offset_save.inc
-# The following has to be set hard as these connection doesn't yet exists and
-# the auto_increment_offset value changes during the lifetime of the servers.
---let $node_3=node_3
---let $auto_increment_offset_node_3 = 3;
---let $node_4=node_4
---let $auto_increment_offset_node_4 = 4;
-
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
+# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--let $node_3=node_3
--let $node_4=node_4
---source suite/galera/include/auto_increment_offset_save.inc
+--source include/auto_increment_offset_save.inc
--connection node_3
# Isolate node #3
@@ -92,6 +82,7 @@ CALL mtr.add_suppression("Slave SQL: Error 'Unknown table");
--connection node_3
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
+CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
--connection node_4
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
@@ -105,3 +96,6 @@ DROP TABLE t2;
--let $node_4=node_4
--let $auto_increment_offset_node_4 = 4;
--source suite/galera/include/auto_increment_offset_restore.inc
+
+--disconnect node_3
+--disconnect node_4
diff --git a/mysql-test/suite/galera/t/galera_wan_restart_sst.test b/mysql-test/suite/galera/t/galera_wan_restart_sst.test
index 7a8c0df4..e904f46c 100644
--- a/mysql-test/suite/galera/t/galera_wan_restart_sst.test
+++ b/mysql-test/suite/galera/t/galera_wan_restart_sst.test
@@ -11,6 +11,7 @@
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/have_innodb.inc
+--source include/force_restart.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
@@ -27,7 +28,7 @@
SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--connection node_1
-CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
INSERT INTO t1 VALUES (1);
--connection node_2
@@ -45,10 +46,20 @@ INSERT INTO t1 VALUES (4);
--connection node_3
INSERT INTO t1 VALUES (13);
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
+--source include/wait_condition.inc
+
+--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
+--source include/wait_condition.inc
+--connection node_3
--source include/kill_galera.inc
+--remove_file $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (11);
--connection node_2
@@ -62,6 +73,10 @@ INSERT INTO t1 VALUES (14);
INSERT INTO t1 VALUES (131);
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
#
# Restart node #2
#
@@ -69,9 +84,17 @@ INSERT INTO t1 VALUES (131);
--connection node_2
INSERT INTO t1 VALUES (22);
+--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
+--source include/wait_condition.inc
+
+--connection node_2
--source include/kill_galera.inc
+--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (21);
--connection node_3
@@ -90,11 +113,21 @@ INSERT INTO t1 VALUES (221);
#
--connection node_4
+--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (34);
+--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 15 FROM t1;
+--source include/wait_condition.inc
+
+--connection node_4
--source include/kill_galera.inc
+--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (31);
--connection node_2
@@ -105,6 +138,7 @@ INSERT INTO t1 VALUES (33);
--connection node_4
--source include/start_mysqld.inc
+--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
INSERT INTO t1 VALUES (341);
diff --git a/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test
index 94ea008c..cfa5f8bc 100644
--- a/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test
+++ b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test
@@ -30,7 +30,7 @@
--echo Starting server ...
--let $restart_noprint=2
---let $start_mysqld_params="--wsrep-new-cluster"
+--let $start_mysqld_params=--wsrep-new-cluster
--source include/start_mysqld.inc
--source include/wait_until_ready.inc
diff --git a/mysql-test/suite/galera/t/mdev-22063.test b/mysql-test/suite/galera/t/mdev-22063.test
new file mode 100644
index 00000000..d0f3e3bc
--- /dev/null
+++ b/mysql-test/suite/galera/t/mdev-22063.test
@@ -0,0 +1,184 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/have_sequence.inc
+--source include/have_aria.inc
+
+--echo # Case 1 CREATE SEQUENCE with no NOCACHE
+--error ER_NOT_SUPPORTED_YET
+CREATE SEQUENCE s ENGINE=InnoDB;
+CREATE SEQUENCE s NOCACHE ENGINE=InnoDB;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+START TRANSACTION;
+REPLACE INTO s VALUES (1,1,9223372036854775806,1,1,1000,0,0);
+OPTIMIZE TABLE t1;
+SELECT * FROM t1;
+SELECT * FROM s;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 's'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM test.s;
+--source include/wait_condition.inc
+
+SELECT * FROM t1;
+SELECT * FROM s;
+
+--connection node_1
+DROP TABLE t1;
+DROP SEQUENCE s;
+
+--echo # Case 2 REPLACE INTO ... SELECT with error
+CREATE TABLE t (id INT KEY,a YEAR,INDEX (id,a)) engine=innodb;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+REPLACE INTO t (id,a)SELECT /*!99997 */ 1;
+REPLACE INTO t (id,a)SELECT /*!99997 */ 1,2;
+SELECT * FROM t;
+
+CREATE TABLE t2 (id INT KEY,a YEAR,INDEX (id,a)) engine=myisam;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+REPLACE INTO t2 (id,a)SELECT /*!99997 */ 1;
+REPLACE INTO t2 (id,a)SELECT /*!99997 */ 1,2;
+SELECT * FROM t2;
+
+CREATE TABLE t3 (id INT KEY,a YEAR,INDEX (id,a)) engine=aria;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+REPLACE INTO t3 (id,a)SELECT /*!99997 */ 1;
+REPLACE INTO t3 (id,a)SELECT /*!99997 */ 1,2;
+SELECT * FROM t3;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't3'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM test.t3;
+--source include/wait_condition.inc
+
+SELECT * FROM t;
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+--connection node_1
+DROP TABLE t,t2,t3;
+
+--echo # Bigger REPLACE ... AS SELECT test
+
+CREATE TABLE t1(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t2(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t3(id int not null primary key ,b int) ENGINE=Aria;
+CREATE TABLE t4(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t5(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t6(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t7(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t8(id int not null primary key ,b int) ENGINE=Aria;
+
+INSERT INTO t1(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t2(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t3(id) SELECT seq FROM seq_1_to_1000;
+
+REPLACE INTO t4 SELECT * FROM t1;
+REPLACE INTO t5 SELECT * FROM t2;
+REPLACE INTO t6 SELECT * FROM t3;
+REPLACE INTO t7 SELECT * FROM t2;
+REPLACE INTO t8 SELECT * FROM t3;
+
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 8 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't_'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1000 FROM test.t8;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+
+--connection node_1
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+
+--echo # Bigger INSERT INTO ... SELECT test
+
+CREATE TABLE t1(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t2(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t3(id int not null primary key ,b int) ENGINE=Aria;
+CREATE TABLE t4(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t5(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t6(id int not null primary key ,b int) ENGINE=InnoDB;
+CREATE TABLE t7(id int not null primary key ,b int) ENGINE=MyISAM;
+CREATE TABLE t8(id int not null primary key ,b int) ENGINE=Aria;
+
+INSERT INTO t1(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t2(id) SELECT seq FROM seq_1_to_1000;
+INSERT INTO t3(id) SELECT seq FROM seq_1_to_1000;
+
+INSERT INTO t4 SELECT * FROM t1;
+INSERT INTO t5 SELECT * FROM t2;
+INSERT INTO t6 SELECT * FROM t3;
+INSERT INTO t7 SELECT * FROM t2;
+INSERT INTO t8 SELECT * FROM t3;
+
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 8 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't_'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1000 FROM test.t8;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+SELECT COUNT(*) AS EXPECT_1000 FROM t2;
+SELECT COUNT(*) AS EXPECT_1000 FROM t3;
+SELECT COUNT(*) AS EXPECT_1000 FROM t4;
+SELECT COUNT(*) AS EXPECT_1000 FROM t5;
+SELECT COUNT(*) AS EXPECT_1000 FROM t6;
+SELECT COUNT(*) AS EXPECT_1000 FROM t7;
+SELECT COUNT(*) AS EXPECT_1000 FROM t8;
+
+--connection node_1
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+#
+# View
+#
+CREATE TABLE t1(pk int not null primary key) engine=innodb;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+DROP TABLE t1;
+DROP VIEW view_t1;
+CREATE TABLE t1(pk int not null primary key) engine=myisam;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+DROP TABLE t1;
+DROP VIEW view_t1;
+CREATE TABLE t1(pk int not null primary key) engine=aria;
+INSERT INTO t1 values (1),(2),(3),(4);
+CREATE VIEW view_t1 AS SELECT * FROM t1;
+INSERT INTO view_t1 VALUES (5);
+SELECT * FROM t1;
+DROP TABLE t1;
+DROP VIEW view_t1;
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/t/mdev-22543.test b/mysql-test/suite/galera/t/mdev-22543.test
index 1e7d3712..26257b28 100644
--- a/mysql-test/suite/galera/t/mdev-22543.test
+++ b/mysql-test/suite/galera/t/mdev-22543.test
@@ -36,7 +36,7 @@ SET DEBUG_SYNC = "now WAIT_FOR sync_point_reached";
# Restart without waiting. The UPDATE should block FTWRL on node_1,
# so the SST cannot be completed and node_2 cannot join before
# UPDATE connection is signalled to continue.
---exec echo "restart:$start_mysqld_params" > $_expect_file_name
+--write_line "restart:$start_mysqld_params" $_expect_file_name
# If the bug is present, FTWRL times out on node_1 in couple of
# seconds and node_2 fails to join.
--sleep 10
diff --git a/mysql-test/suite/galera/t/mdev-30013.test b/mysql-test/suite/galera/t/mdev-30013.test
index 038b6660..3795dd32 100644
--- a/mysql-test/suite/galera/t/mdev-30013.test
+++ b/mysql-test/suite/galera/t/mdev-30013.test
@@ -1,4 +1,5 @@
--source include/galera_cluster.inc
+--source include/force_restart.inc # ARCHIVE plugin must be uninstalled
if (!$HA_ARCHIVE_SO) {
skip Needs Archive loadable plugin;
diff --git a/mysql-test/suite/galera/t/mdev-31285.test b/mysql-test/suite/galera/t/mdev-31285.test
index d2749165..5abef37c 100644
--- a/mysql-test/suite/galera/t/mdev-31285.test
+++ b/mysql-test/suite/galera/t/mdev-31285.test
@@ -1,34 +1,15 @@
--source include/galera_cluster.inc
---let $node_1 = node_1
---let $node_2 = node_2
---source include/auto_increment_offset_save.inc
-
--connection node_1
-CREATE TABLE t ENGINE=InnoDB WITH SYSTEM VERSIONING AS SELECT 1 AS i;
-SHOW CREATE TABLE t;
-SELECT * from t;
-DROP TABLE IF EXISTS t;
-COMMIT;
-
#
-# Restart node_2, force SST because database is inconsistent compared to node_1
+# Below should not cause nodes to be inconsistent (they could if we
+# allow TOI as some error are ignored on applier
#
---connection node_2
-SET SESSION wsrep_sync_wait=0;
---source include/kill_galera.inc
---remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
---echo Starting server ...
-let $restart_noprint=2;
---source include/start_mysqld.inc
---let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
---source include/wait_condition.inc
-
---let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
---source include/wait_condition.inc
+--error ER_NOT_SUPPORTED_YET
+CREATE TABLE t ENGINE=InnoDB WITH SYSTEM VERSIONING AS SELECT 1 AS i;
--connection node_2
-call mtr.add_suppression("WSREP: Event .*Write_rows_v1 apply failed:.*");
-call mtr.add_suppression("SREP: Failed to apply write set: gtid:.*");
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t;
+
---source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#332.test b/mysql-test/suite/galera/t/mysql-wsrep#332.test
index e216dfe7..464156e8 100644
--- a/mysql-test/suite/galera/t/mysql-wsrep#332.test
+++ b/mysql-test/suite/galera/t/mysql-wsrep#332.test
@@ -3,7 +3,7 @@
--source include/have_debug_sync.inc
--source include/galera_have_debug_sync.inc
-# Open connection node_1a here, MW-369.inc will use it later
+# Open connection node_1a here, will use it later
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
#
@@ -27,7 +27,42 @@ INSERT INTO c VALUES (2, 2);
--let $mw_369_parent_query = UPDATE p SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id) REFERENCES p(f1)
---source MW-369.inc
+--connection node_1
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+--eval $mw_369_parent_query
+
+#
+# Block the $mw_369_child_query from node_2
+#
+# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_set_sync_point.inc
+
+#
+# insert client row, which will make it impossible to replay the
+# delete on parent
+#
+--connection node_2
+--eval $mw_369_child_query
+
+#
+# Wait until $mw_369_child_query from node_2 reaches the sync point and
+# block the 'COMMIT' from node_1 before it certifies.
+#
+--connection node_1a
+--source include/galera_wait_sync_point.inc
+--source include/galera_clear_sync_point.inc
+
+--connection node_1
+--send COMMIT
+
+--connection node_1a
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_signal_sync_point.inc
+--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
@@ -62,7 +97,42 @@ INSERT INTO c VALUES (2, 2, 2);
--let $mw_369_parent_query = UPDATE p1 SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
---source MW-369.inc
+--connection node_1
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+--eval $mw_369_parent_query
+
+#
+# Block the $mw_369_child_query from node_2
+#
+# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_set_sync_point.inc
+
+#
+# insert client row, which will make it impossible to replay the
+# delete on parent
+#
+--connection node_2
+--eval $mw_369_child_query
+
+#
+# Wait until $mw_369_child_query from node_2 reaches the sync point and
+# block the 'COMMIT' from node_1 before it certifies.
+#
+--connection node_1a
+--source include/galera_wait_sync_point.inc
+--source include/galera_clear_sync_point.inc
+
+--connection node_1
+--send COMMIT
+
+--connection node_1a
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_signal_sync_point.inc
+--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
@@ -96,7 +166,42 @@ INSERT INTO c VALUES (2, 2, 2);
--let $mw_369_parent_query = UPDATE p2 SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
---source MW-369.inc
+--connection node_1
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+--eval $mw_369_parent_query
+
+#
+# Block the $mw_369_child_query from node_2
+#
+# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_set_sync_point.inc
+
+#
+# insert client row, which will make it impossible to replay the
+# delete on parent
+#
+--connection node_2
+--eval $mw_369_child_query
+
+#
+# Wait until $mw_369_child_query from node_2 reaches the sync point and
+# block the 'COMMIT' from node_1 before it certifies.
+#
+--connection node_1a
+--source include/galera_wait_sync_point.inc
+--source include/galera_clear_sync_point.inc
+
+--connection node_1
+--send COMMIT
+
+--connection node_1a
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_signal_sync_point.inc
+--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
diff --git a/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.cnf b/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.cnf
new file mode 100644
index 00000000..ebe1d47f
--- /dev/null
+++ b/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.cnf
@@ -0,0 +1,10 @@
+!include ../galera_2nodes_as_master.cnf
+
+[mysqld.1]
+innodb-log-file-buffering
+
+[mysqld.2]
+innodb-log-file-buffering
+
+[mysqld.3]
+innodb-log-file-buffering
diff --git a/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.test b/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.test
new file mode 100644
index 00000000..29590e32
--- /dev/null
+++ b/mysql-test/suite/galera/t/rpl_galera_to_mariadb_clone_slave_using_mariadb-backup.test
@@ -0,0 +1,9 @@
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--echo #
+--echo # MDEV-33355 Add a Galera-2-node-to-MariaDB replication MTR test cloning the slave with mariadb-backup
+--echo #
+
+--let cnf=galera2_to_mariadb
+--source include/rpl_clone_slave_using_mariadb-backup.inc
diff --git a/mysql-test/suite/galera/t/versioning_trx_id.test b/mysql-test/suite/galera/t/versioning_trx_id.test
index 017379c3..fc9ea18e 100644
--- a/mysql-test/suite/galera/t/versioning_trx_id.test
+++ b/mysql-test/suite/galera/t/versioning_trx_id.test
@@ -13,29 +13,29 @@ set session wsrep_sync_wait=15;
insert into t1 (a) values (3),(4);
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
-if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
+if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
--connection node_3
set session wsrep_sync_wait=15;
insert into t1 (a) values (5),(6);
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
-if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
+if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
--connection node_1
set session wsrep_sync_wait=15;
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
-if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
+if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
-select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
+select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
drop table t1;
diff --git a/mysql-test/suite/galera_3nodes/disabled.def b/mysql-test/suite/galera_3nodes/disabled.def
index 728500f4..f71f726c 100644
--- a/mysql-test/suite/galera_3nodes/disabled.def
+++ b/mysql-test/suite/galera_3nodes/disabled.def
@@ -19,3 +19,4 @@ galera_ipv6_mariabackup_section : temporarily disabled at the request of Codersh
# Opensuse/suse/rocky9/rocky84/rhel9/rhel8-ppc64le .. - all same IPv6 isn't configured right or skipping or galera
galera_ipv6_rsync : Can't connect to server on '::1' (115)
galera_ipv6_rsync_section : Can't connect to server on '::1' (115)
+GCF-354 : MDEV-25614 Galera test failure on GCF-354
diff --git a/mysql-test/suite/galera_3nodes/r/MDEV-29171.result b/mysql-test/suite/galera_3nodes/r/MDEV-29171.result
index 371ce006..55513ff5 100644
--- a/mysql-test/suite/galera_3nodes/r/MDEV-29171.result
+++ b/mysql-test/suite/galera_3nodes/r/MDEV-29171.result
@@ -19,20 +19,40 @@ connection node_2;
connection node_1;
connection node_1;
# restart: --wsrep_new_cluster --wsrep_gtid_domain_id=200
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE
+Primary
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE
+Synced
show variables like 'wsrep_gtid_domain_id';
Variable_name Value
wsrep_gtid_domain_id 200
connection node_2;
# restart
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE
+Primary
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE
+Synced
show variables like 'wsrep_gtid_domain_id';
Variable_name Value
wsrep_gtid_domain_id 200
+connection node_1;
connection node_3;
# restart: --wsrep_sst_donor=node2
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE
+Primary
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE
+Synced
show variables like 'wsrep_gtid_domain_id';
Variable_name Value
wsrep_gtid_domain_id 200
connection node_1;
+connection node_1;
set global wsrep_gtid_domain_id=100;
connection node_2;
set global wsrep_gtid_domain_id=100;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_allowlist.result b/mysql-test/suite/galera_3nodes/r/galera_allowlist.result
index 471444d8..a3fb6cf7 100644
--- a/mysql-test/suite/galera_3nodes/r/galera_allowlist.result
+++ b/mysql-test/suite/galera_3nodes/r/galera_allowlist.result
@@ -7,6 +7,9 @@ connection node_2;
SELECT COUNT(*) = 3 FROM mysql.wsrep_allowlist;
COUNT(*) = 3
1
+connection node_1;
+connection node_2;
+connection node_3;
connection node_3;
SET @@global.wsrep_desync = 1;
SET SESSION wsrep_sync_wait = 0;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result b/mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
index 9f1d3fec..a69cef11 100644
--- a/mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
+++ b/mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
@@ -9,6 +9,7 @@ INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
connection node_2;
Unloading wsrep provider ...
SET GLOBAL wsrep_cluster_address = '';
+connection node_1;
connection node_3;
Unloading wsrep provider ...
SET GLOBAL wsrep_cluster_address = '';
@@ -33,14 +34,16 @@ SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'signal=ist_sender_send_after_get_buffers';
INSERT INTO t1 VALUES (51), (52), (53), (54), (55);
connection node_2;
+connection node_1;
connection node_3;
+connection node_1;
connection node_2;
-SELECT COUNT(*) = 30 FROM t1;
-COUNT(*) = 30
-1
-SELECT COUNT(*) = 3 FROM t2;
-COUNT(*) = 3
-1
+SELECT COUNT(*) AS EXPECT_30 FROM t1;
+EXPECT_30
+30
+SELECT COUNT(*) AS EXPECT_3 FROM t2;
+EXPECT_3
+3
SELECT LENGTH(f1) = 512 * 1024 FROM t2;
LENGTH(f1) = 512 * 1024
1
@@ -48,12 +51,12 @@ LENGTH(f1) = 512 * 1024
1
CALL mtr.add_suppression("WSREP: Unsupported protocol downgrade: incremental data collection disabled");
connection node_3;
-SELECT COUNT(*) = 30 FROM t1;
-COUNT(*) = 30
-1
-SELECT COUNT(*) = 3 FROM t2;
-COUNT(*) = 3
-1
+SELECT COUNT(*) AS EXPECT_30 FROM t1;
+EXPECT_30
+30
+SELECT COUNT(*) AS EXPECT_3 FROM t2;
+EXPECT_3
+3
SELECT LENGTH(f1) = 512 * 1024 FROM t2;
LENGTH(f1) = 512 * 1024
1
diff --git a/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_B.result b/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_B.result
index 732385a3..a88909f4 100644
--- a/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_B.result
+++ b/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_B.result
@@ -92,3 +92,7 @@ connection node_2;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_3;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
+disconnect node_1a;
+disconnect node_3;
+disconnect node_2;
+disconnect node_1;
diff --git a/mysql-test/suite/galera_3nodes/t/MDEV-29171.test b/mysql-test/suite/galera_3nodes/t/MDEV-29171.test
index bfb7abf9..1ce33bee 100644
--- a/mysql-test/suite/galera_3nodes/t/MDEV-29171.test
+++ b/mysql-test/suite/galera_3nodes/t/MDEV-29171.test
@@ -50,6 +50,16 @@ select @@wsrep_gtid_domain_id,@@wsrep_node_name;
--connection node_1
--let $restart_parameters = --wsrep_new_cluster --wsrep_gtid_domain_id=200
--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
show variables like 'wsrep_gtid_domain_id';
#
@@ -59,8 +69,21 @@ show variables like 'wsrep_gtid_domain_id';
--let $restart_parameters =
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
show variables like 'wsrep_gtid_domain_id';
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
#
# Restart node_3, select node_2 as donor
@@ -70,9 +93,23 @@ show variables like 'wsrep_gtid_domain_id';
--let $restart_parameters = --wsrep_sst_donor="node2"
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.3.expect
--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
# Expect domain id 200
show variables like 'wsrep_gtid_domain_id';
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
#
# Cleanup
diff --git a/mysql-test/suite/galera_3nodes/t/galera_allowlist.test b/mysql-test/suite/galera_3nodes/t/galera_allowlist.test
index 74fff61c..de80965a 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_allowlist.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_allowlist.test
@@ -12,6 +12,12 @@ SELECT COUNT(*) = 3 FROM mysql.wsrep_allowlist;
--let $galera_server_number = 3
--source include/galera_connect.inc
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--let $node_3=node_3
+--source ../galera/include/auto_increment_offset_save.inc
+
--connection node_3
# Desync and disconnect node 3 from the PC:
SET @@global.wsrep_desync = 1;
@@ -64,3 +70,6 @@ CALL mtr.add_suppression('WSREP: Connection not allowed');
--connection node_3
CALL mtr.add_suppression('WSREP: Ignoring lack of quorum');
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_gtid_consistency.cnf b/mysql-test/suite/galera_3nodes/t/galera_gtid_consistency.cnf
index 5bd03178..c27490fa 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_gtid_consistency.cnf
+++ b/mysql-test/suite/galera_3nodes/t/galera_gtid_consistency.cnf
@@ -33,3 +33,6 @@ log_slave_updates=ON
log_bin=mariadb-bin-log
binlog-format=row
wsrep-gtid-mode=ON
+
+[sst]
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf
index 303087df..29563657 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf
+++ b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf
@@ -2,10 +2,22 @@
[mysqld.1]
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
+auto_increment_increment=1
+auto_increment_offset=1
+# this will force server restarts before this test
+loose-galera-ist-gcache-rollover=1
+wsrep-debug=1
[mysqld.2]
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
+auto_increment_increment=2
+auto_increment_offset=2
+loose-galera-ist-gcache-rollover=2
+wsrep-debug=1
[mysqld.3]
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
-
+auto_increment_increment=3
+auto_increment_offset=3
+loose-galera-ist-gcache-rollover=3
+wsrep-debug=1
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
index 210a4c23..16b9bdb2 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
@@ -12,6 +12,7 @@
--source include/have_innodb.inc
--source include/have_debug_sync.inc
--source include/galera_have_debug_sync.inc
+--source include/force_restart.inc
--let $galera_connection_name = node_3
--let $galera_server_number = 3
@@ -24,6 +25,9 @@
--source ../galera/include/auto_increment_offset_save.inc
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'wsrep%'; show processlist
+--source include/wait_condition_with_debug.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
@@ -32,12 +36,15 @@ INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
--let $wsrep_cluster_address_orig2 = `select @@wsrep_cluster_address`
--source suite/galera/include/galera_stop_replication.inc
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
--connection node_3
--let $wsrep_cluster_address_orig3 = `select @@wsrep_cluster_address`
--source suite/galera/include/galera_stop_replication.inc
--connection node_1
---source include/wait_until_connected_again.inc
INSERT INTO t1 VALUES (11), (12), (13), (14), (15);
# Wait until nodes #2 and #3 have left
@@ -88,29 +95,39 @@ INSERT INTO t1 VALUES (51), (52), (53), (54), (55);
--connection node_2
--source include/wait_until_connected_again.inc
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 OR VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
--connection node_3
--source include/wait_until_connected_again.inc
-sleep 5;
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
# Final checks
--connection node_2
-SELECT COUNT(*) = 30 FROM t1;
-SELECT COUNT(*) = 3 FROM t2;
+--let $wait_condition = SELECT COUNT(*) = 30 FROM t1
+--source include/wait_condition.inc
+
+SELECT COUNT(*) AS EXPECT_30 FROM t1;
+SELECT COUNT(*) AS EXPECT_3 FROM t2;
SELECT LENGTH(f1) = 512 * 1024 FROM t2;
CALL mtr.add_suppression("WSREP: Unsupported protocol downgrade: incremental data collection disabled");
# Final checks
--connection node_3
-SELECT COUNT(*) = 30 FROM t1;
-SELECT COUNT(*) = 3 FROM t2;
+--let $wait_condition = SELECT COUNT(*) = 30 FROM t1
+--source include/wait_condition.inc
+SELECT COUNT(*) AS EXPECT_30 FROM t1;
+SELECT COUNT(*) AS EXPECT_3 FROM t2;
SELECT LENGTH(f1) = 512 * 1024 FROM t2;
CALL mtr.add_suppression("WSREP: Unsupported protocol downgrade: incremental data collection disabled");
DROP TABLE t1, t2;
# Restore original auto_increment_offset values.
---source ../galera/include/auto_increment_offset_restore.inc
-
--let $galera_cluster_size=3
+--source ../galera/include/auto_increment_offset_restore.inc
--source include/galera_end.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_B.test b/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_B.test
index 55d6b458..d06cdcc8 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_B.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_B.test
@@ -278,4 +278,9 @@ call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State T
--connection node_3
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
+--disconnect node_1a
+
+# Restore original auto_increment_offset values.
+--let $galera_cluster_size=3
--source ../galera/include/auto_increment_offset_restore.inc
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera_3nodes_sr/r/GCF-336.result b/mysql-test/suite/galera_3nodes_sr/r/GCF-336.result
index eeccfa3b..8fc853f8 100644
--- a/mysql-test/suite/galera_3nodes_sr/r/GCF-336.result
+++ b/mysql-test/suite/galera_3nodes_sr/r/GCF-336.result
@@ -25,6 +25,8 @@ SET SESSION wsrep_sync_wait=0;
connection node_2;
INSERT INTO t1 VALUES (2);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+connection node_2a;
+connection node_2;
COMMIT;
ERROR 08S01: WSREP has not yet prepared node for application use
connection node_2a;
diff --git a/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result b/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
index 9043c668..ef21e4ca 100644
--- a/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
+++ b/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
@@ -6,20 +6,26 @@ connection node_2;
connection node_3;
connection node_2;
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
-CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
-INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
+INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
COMMIT;
Got one of the listed errors
+connection node_1;
+connection node_2;
# restart
connection node_1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
+SELECT * FROM t1;
+f1
connection node_2;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
+SELECT * FROM t1;
+f1
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes_sr/r/galera_sr_kill_slave_before_apply.result b/mysql-test/suite/galera_3nodes_sr/r/galera_sr_kill_slave_before_apply.result
index 933038e0..08e3fc6c 100644
--- a/mysql-test/suite/galera_3nodes_sr/r/galera_sr_kill_slave_before_apply.result
+++ b/mysql-test/suite/galera_3nodes_sr/r/galera_sr_kill_slave_before_apply.result
@@ -7,11 +7,11 @@ connection node_3;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
connection node_2;
-SELECT COUNT(*) = 0 FROM t1;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
connection node_1;
-CREATE TABLE t2 (f1 INTEGER);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
LOCK TABLE t2 WRITE;
connection node_1;
@@ -37,13 +37,14 @@ count_match
count_match
1
connection node_1;
-SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
-COUNT(*)
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
0
connection node_2;
-SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
-COUNT(*)
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
0
+call mtr.add_suppression("WSREP: node uuid:.*");
connection node_1;
DROP TABLE t1;
DROP TABLE t2;
diff --git a/mysql-test/suite/galera_3nodes_sr/t/GCF-336.test b/mysql-test/suite/galera_3nodes_sr/t/GCF-336.test
index ba85aa52..20d5955e 100644
--- a/mysql-test/suite/galera_3nodes_sr/t/GCF-336.test
+++ b/mysql-test/suite/galera_3nodes_sr/t/GCF-336.test
@@ -27,6 +27,12 @@ SET SESSION wsrep_sync_wait=0;
--connection node_2
--error ER_LOCK_DEADLOCK
INSERT INTO t1 VALUES (2);
+
+--connection node_2a
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+--connection node_2
--error ER_UNKNOWN_COM_ERROR
COMMIT;
diff --git a/mysql-test/suite/galera_3nodes_sr/t/GCF-832.test b/mysql-test/suite/galera_3nodes_sr/t/GCF-832.test
index 5da080a6..700b3c38 100644
--- a/mysql-test/suite/galera_3nodes_sr/t/GCF-832.test
+++ b/mysql-test/suite/galera_3nodes_sr/t/GCF-832.test
@@ -4,6 +4,7 @@
#
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
+--source include/force_restart.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
@@ -13,30 +14,42 @@
--source ../galera/include/auto_increment_offset_save.inc
--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
---exec echo "wait" > $_expect_file_name
+--write_line wait $_expect_file_name
-CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
-INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
+INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
--error 2013,2026
COMMIT;
+--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
+--connection node_2
--source include/start_mysqld.inc
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SELECT * FROM t1;
--connection node_2
--enable_reconnect
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes_sr/t/galera_sr_kill_slave_before_apply.test b/mysql-test/suite/galera_3nodes_sr/t/galera_sr_kill_slave_before_apply.test
index 08a59296..58d744e7 100644
--- a/mysql-test/suite/galera_3nodes_sr/t/galera_sr_kill_slave_before_apply.test
+++ b/mysql-test/suite/galera_3nodes_sr/t/galera_sr_kill_slave_before_apply.test
@@ -6,6 +6,7 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
+--source include/force_restart.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
@@ -15,18 +16,23 @@
--source ../galera/include/auto_increment_offset_save.inc
--connection node_1
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
# Block node #2's applier before table t1's inserts have come into play
--connection node_2
-SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
--connection node_1
-CREATE TABLE t2 (f1 INTEGER);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2'
+--source include/wait_condition.inc
LOCK TABLE t2 WRITE;
--connection node_1
@@ -77,10 +83,12 @@ if ($mysql_errno == 1213) {
--enable_query_log
--connection node_1
-SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
--connection node_2
-SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+# As noted above sometimes node delivers the same view twice
+call mtr.add_suppression("WSREP: node uuid:.*");
--connection node_1
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_bf_abort_idle.result b/mysql-test/suite/galera_sr/r/galera_sr_bf_abort_idle.result
new file mode 100644
index 00000000..a1495f1c
--- /dev/null
+++ b/mysql-test/suite/galera_sr/r/galera_sr_bf_abort_idle.result
@@ -0,0 +1,33 @@
+connection node_2;
+connection node_1;
+connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INTEGER);
+INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1);
+SET SESSION wsrep_trx_fragment_size=10;
+SET SESSION wsrep_trx_fragment_unit='rows';
+START TRANSACTION;
+UPDATE t1 SET f2 = f2 + 10;
+connection node_2;
+INSERT INTO t1 VALUES (10,2);
+connection node_1a;
+connection node_1;
+INSERT INTO t1 VALUES (9,1);
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+DROP TABLE t1;
+connection node_1;
+CREATE TABLE t1(f1 INTEGER PRIMARY KEY, f2 INTEGER);
+INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1);
+SET SESSION wsrep_trx_fragment_size=5;
+SET SESSION wsrep_trx_fragment_unit='rows';
+START TRANSACTION;
+UPDATE t1 SET f2 = f2 + 10;
+connection node_2;
+INSERT INTO t1 VALUES (10,2);
+connection node_1a;
+connection node_1;
+INSERT INTO t1 VALUES (9,1);
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/t/MDEV-25718.test b/mysql-test/suite/galera_sr/t/MDEV-25718.test
index 9aebbdc7..037cd300 100644
--- a/mysql-test/suite/galera_sr/t/MDEV-25718.test
+++ b/mysql-test/suite/galera_sr/t/MDEV-25718.test
@@ -43,8 +43,9 @@ SET SESSION wsrep_sync_wait = 0;
SET debug_sync = "now SIGNAL write_row_continue";
# Let's give the INSERT some time, to make sure it does rollback
---let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = "INSERT INTO t1 VALUES (1)" AND STATE = "Freeing items";
---source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = "INSERT INTO t1 VALUES (1)" AND (STATE = "Freeing items" OR STATE = 'Rollback');
+--let $wait_condition_on_error_output = SELECT INFO, STATE FROM INFORMATION_SCHEMA.PROCESSLIST
+--source include/wait_condition_with_debug.inc
# Resume the DDL in streaming_rollback
SET SESSION debug_sync = "now SIGNAL wsrep_streaming_rollback_continue";
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_bf_abort_idle.test b/mysql-test/suite/galera_sr/t/galera_sr_bf_abort_idle.test
new file mode 100644
index 00000000..66259b79
--- /dev/null
+++ b/mysql-test/suite/galera_sr/t/galera_sr_bf_abort_idle.test
@@ -0,0 +1,68 @@
+#
+# Test BF abort for idle SR transactions
+#
+
+--source include/galera_cluster.inc
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+#
+# Case 1: BF abort idle SR transaction that has not yet replicated any fragments
+#
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INTEGER);
+INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1);
+
+--let $bf_count = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.global_status WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+SET SESSION wsrep_trx_fragment_size=10;
+SET SESSION wsrep_trx_fragment_unit='rows';
+START TRANSACTION;
+UPDATE t1 SET f2 = f2 + 10;
+
+--connection node_2
+INSERT INTO t1 VALUES (10,2);
+
+# Wait for SR transaction to be BF aborted
+--connection node_1a
+--let $wait_condition = SELECT VARIABLE_VALUE = $bf_count + 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'
+--source include/wait_condition.inc
+
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+INSERT INTO t1 VALUES (9,1);
+ROLLBACK;
+
+DROP TABLE t1;
+
+
+#
+# Case 2: BF abort idle SR transaction that has already replicated a fragment
+#
+--connection node_1
+CREATE TABLE t1(f1 INTEGER PRIMARY KEY, f2 INTEGER);
+INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1);
+
+--let $bf_count = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.global_status WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+
+SET SESSION wsrep_trx_fragment_size=5;
+SET SESSION wsrep_trx_fragment_unit='rows';
+START TRANSACTION;
+UPDATE t1 SET f2 = f2 + 10;
+
+--connection node_2
+INSERT INTO t1 VALUES (10,2);
+
+# Wait for SR transaction to be BF aborted
+--connection node_1a
+--let $wait_condition = SELECT VARIABLE_VALUE = $bf_count + 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'
+--source include/wait_condition.inc
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+INSERT INTO t1 VALUES (9,1);
+ROLLBACK;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test b/mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test
index 5332b1a1..f6f50fd5 100644
--- a/mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test
+++ b/mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test
@@ -38,12 +38,12 @@ SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
---let $start_mysqld_params = "--wsrep-new-cluster"
+--let $start_mysqld_params =--wsrep-new-cluster
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/start_mysqld.inc
--connection node_2
---let $start_mysqld_params = ""
+--let $start_mysqld_params =
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
diff --git a/mysql-test/suite/gcol/inc/innodb_v_large_col.inc b/mysql-test/suite/gcol/inc/innodb_v_large_col.inc
index 70e18863..8ba6920f 100644
--- a/mysql-test/suite/gcol/inc/innodb_v_large_col.inc
+++ b/mysql-test/suite/gcol/inc/innodb_v_large_col.inc
@@ -1,5 +1,3 @@
---source include/have_innodb.inc
-
eval CREATE TABLE `t` (
`a` VARCHAR(10000), `b` VARCHAR(3000),
`c` VARCHAR(14000) GENERATED ALWAYS AS (CONCAT(a,b)) VIRTUAL,
diff --git a/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result b/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
index 63ea5b1d..505afb9b 100644
--- a/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
+++ b/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
@@ -96,11 +96,8 @@ a b c
DROP TABLE t1;
CREATE TABLE t1 (a INT, b INT, c INT GENERATED ALWAYS AS(a+b));
INSERT INTO t1(a, b) VALUES (1, 1), (2, 2), (3, 3), (4, 4);
-connection con1;
-# disable purge
-BEGIN;
-SELECT * FROM t0;
-a
+connect stop_purge,localhost,root,,;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default;
DELETE FROM t1 WHERE a = 1;
UPDATE t1 SET a = 2, b = 2 WHERE a = 5;
@@ -109,10 +106,11 @@ SET DEBUG_SYNC= 'inplace_after_index_build SIGNAL uncommitted WAIT_FOR purged';
ALTER TABLE t1 ADD INDEX idx (c), ALGORITHM=INPLACE, LOCK=NONE;
connection con1;
SET DEBUG_SYNC= 'now WAIT_FOR uncommitted';
+BEGIN;
DELETE FROM t1 WHERE a = 3;
UPDATE t1 SET a = 7, b = 7 WHERE a = 4;
INSERT INTO t1(a, b) VALUES (8, 8);
-# enable purge
+disconnect stop_purge;
COMMIT;
# wait for purge to process the deleted/updated records.
InnoDB 2 transactions not purged
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
index 09fba028..79669535 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
@@ -131,9 +131,8 @@ CREATE TABLE t1 (a INT, b INT, c INT GENERATED ALWAYS AS(a+b));
INSERT INTO t1(a, b) VALUES (1, 1), (2, 2), (3, 3), (4, 4);
-connection con1;
---echo # disable purge
-BEGIN; SELECT * FROM t0;
+connect (stop_purge,localhost,root,,);
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default;
DELETE FROM t1 WHERE a = 1;
@@ -148,13 +147,14 @@ send ALTER TABLE t1 ADD INDEX idx (c), ALGORITHM=INPLACE, LOCK=NONE;
connection con1;
SET DEBUG_SYNC= 'now WAIT_FOR uncommitted';
+BEGIN;
DELETE FROM t1 WHERE a = 3;
UPDATE t1 SET a = 7, b = 7 WHERE a = 4;
INSERT INTO t1(a, b) VALUES (8, 8);
---echo # enable purge
+disconnect stop_purge;
COMMIT;
--echo # wait for purge to process the deleted/updated records.
diff --git a/mysql-test/suite/innodb/include/innodb_merge_threshold_delete.inc b/mysql-test/suite/innodb/include/innodb_merge_threshold_delete.inc
index 8c60cd6e..7d7188aa 100644
--- a/mysql-test/suite/innodb/include/innodb_merge_threshold_delete.inc
+++ b/mysql-test/suite/innodb/include/innodb_merge_threshold_delete.inc
@@ -5,9 +5,6 @@
# "create table tab1 (a bigint primary key, b varchar(2048)) engine=InnoDB;"
#
---source include/have_innodb.inc
---source include/have_innodb_16k.inc
-
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;
diff --git a/mysql-test/suite/innodb/include/innodb_merge_threshold_secondary.inc b/mysql-test/suite/innodb/include/innodb_merge_threshold_secondary.inc
index 8e821365..1d3aca87 100644
--- a/mysql-test/suite/innodb/include/innodb_merge_threshold_secondary.inc
+++ b/mysql-test/suite/innodb/include/innodb_merge_threshold_secondary.inc
@@ -6,9 +6,6 @@
# "create index index1 on tab1(b(750));"
#
---source include/have_innodb.inc
---source include/have_innodb_16k.inc
-
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;
diff --git a/mysql-test/suite/innodb/include/innodb_merge_threshold_update.inc b/mysql-test/suite/innodb/include/innodb_merge_threshold_update.inc
index 61e961ac..f91a796d 100644
--- a/mysql-test/suite/innodb/include/innodb_merge_threshold_update.inc
+++ b/mysql-test/suite/innodb/include/innodb_merge_threshold_update.inc
@@ -5,9 +5,6 @@
# "create table tab1 (a bigint primary key, b varchar(2048)) engine=InnoDB;"
#
---source include/have_innodb.inc
---source include/have_innodb_16k.inc
-
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;
diff --git a/mysql-test/suite/innodb/include/no_checkpoint_start.inc b/mysql-test/suite/innodb/include/no_checkpoint_start.inc
index a903fee6..69823dd0 100644
--- a/mysql-test/suite/innodb/include/no_checkpoint_start.inc
+++ b/mysql-test/suite/innodb/include/no_checkpoint_start.inc
@@ -1,5 +1,28 @@
# Preparation for using no_checkpoint_end.inc
+# no_checkpoint_flush: Set to trigger flushing the dirty pages from buffer pool
+# and checkpoint before the "no checkpoint" block.
+
+if ($no_checkpoint_flush) {
+ --echo
+ --echo # Flush all dirty pages from buffer pool
+ SET @no_checkpoint_save_pct= @@GLOBAL.innodb_max_dirty_pages_pct;
+ SET @no_checkpoint_save_pct_lwm= @@GLOBAL.innodb_max_dirty_pages_pct_lwm;
+
+ SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
+ SET GLOBAL innodb_max_dirty_pages_pct=0.0;
+
+ let $wait_condition =
+ SELECT variable_value = 0
+ FROM information_schema.global_status
+ WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
+ --source include/wait_condition.inc
+
+ SET GLOBAL innodb_max_dirty_pages_pct= @no_checkpoint_save_pct;
+ SET GLOBAL innodb_max_dirty_pages_pct_lwm= @no_checkpoint_save_pct_lwm;
+ --echo
+}
+
let MYSQLD_DATADIR= `select @@datadir`;
--replace_regex /.*Last checkpoint at[ ]*([0-9]+).*/\1/
let CHECKPOINT_LSN=`SHOW ENGINE INNODB STATUS`;
diff --git a/mysql-test/suite/innodb/r/alter_copy.result b/mysql-test/suite/innodb/r/alter_copy.result
index 8c9e5966..72ae28e9 100644
--- a/mysql-test/suite/innodb/r/alter_copy.result
+++ b/mysql-test/suite/innodb/r/alter_copy.result
@@ -51,7 +51,7 @@ ADD INDEX(a,b,d), ADD INDEX(a,d,b), ADD INDEX(b,c,d), ADD INDEX(b,d,c),
ALGORITHM=COPY;
connection default;
SET DEBUG_SYNC='now WAIT_FOR hung';
-# restart: --innodb-force-recovery=3 --debug_dbug=+d,recv_ran_out_of_buffer
+# restart: --innodb-force-recovery=3
disconnect hang;
FTS_INDEX_1.ibd
FTS_INDEX_2.ibd
diff --git a/mysql-test/suite/innodb/r/alter_kill.result b/mysql-test/suite/innodb/r/alter_kill.result
index 51814088..209a711d 100644
--- a/mysql-test/suite/innodb/r/alter_kill.result
+++ b/mysql-test/suite/innodb/r/alter_kill.result
@@ -15,9 +15,9 @@ disconnect con1;
# and recompute innodb_checksum_algorithm=crc32
# restart
SELECT COUNT(*) FROM bug16720368;
-ERROR 42S02: Table 'test.bug16720368' doesn't exist in engine
+ERROR HY000: Table `test`.`bug16720368` is corrupted. Please drop the table and recreate.
INSERT INTO bug16720368 VALUES(1);
-ERROR HY000: Table test/bug16720368 is corrupted. Please drop the table and recreate.
+ERROR HY000: Table `test`.`bug16720368` is corrupted. Please drop the table and recreate.
INSERT INTO bug16720368_1 VALUES(1);
# Shut down the server to uncorrupt the data.
# restart
diff --git a/mysql-test/suite/innodb/r/alter_not_null,COPY,NON-STRICT.rdiff b/mysql-test/suite/innodb/r/alter_not_null,COPY,NON-STRICT.rdiff
index 01db97e5..7c32d38a 100644
--- a/mysql-test/suite/innodb/r/alter_not_null,COPY,NON-STRICT.rdiff
+++ b/mysql-test/suite/innodb/r/alter_not_null,COPY,NON-STRICT.rdiff
@@ -1,42 +1,79 @@
-7,8c7,8
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-21,22c21,22
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-35,36c35,36
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-49,50c49,50
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-63,64c63,64
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-77,78c77,78
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
-98,99c98,99
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
+--- alter_not_null.result
++++ alter_not_null,COPY,NON-STRICT.result~
+@@ -4,8 +4,8 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 INT NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+@@ -18,8 +18,8 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 CHAR(10) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+@@ -32,8 +32,8 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 VARCHAR(20) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+@@ -46,8 +46,8 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 TEXT NOT NULL DEFAULT 'abc';
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+@@ -60,8 +60,8 @@
+ f1 f2 f3
+ 2 2 NULL
+ ALTER TABLE t1 CHANGE f3 f3 INT NOT NULL DEFAULT (f1 + f2);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'f3' at row 1
+ SELECT * FROM t1;
+@@ -74,8 +74,8 @@
+ f1 b
+ 10 NULL
+ ALTER TABLE t1 CHANGE b b TINYINT NOT NULL DEFAULT if(unix_timestamp()>1,1000,0);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'b' at row 1
+ SELECT * FROM t1;
+@@ -95,8 +95,8 @@
+ CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(1, NULL);
+ ALTER IGNORE TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'c2' at row 1
+ SELECT * FROM t1;
diff --git a/mysql-test/suite/innodb/r/alter_not_null,COPY,STRICT.rdiff b/mysql-test/suite/innodb/r/alter_not_null,COPY,STRICT.rdiff
index e02d235c..37e97169 100644
--- a/mysql-test/suite/innodb/r/alter_not_null,COPY,STRICT.rdiff
+++ b/mysql-test/suite/innodb/r/alter_not_null,COPY,STRICT.rdiff
@@ -1,72 +1,109 @@
-7,10c7
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-13c10
-< 0
----
-> NULL
-21,24c18
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-27c21
-<
----
-> NULL
-35,38c29
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-41c32
-<
----
-> NULL
-49,52c40
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-55c43
-<
----
-> NULL
-63,66c51
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f3' at row 1
----
-> ERROR 01000: Data truncated for column 'f3' at row 1
-69c54
-< 2 2 0
----
-> 2 2 NULL
-77,80c62
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'b' at row 1
----
-> ERROR 01000: Data truncated for column 'b' at row 1
-83c65
-< 10 0
----
-> 10 NULL
-98,99c80,81
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
----
-> affected rows: 1
-> info: Records: 1 Duplicates: 0 Warnings: 1
+--- alter_not_null.result
++++ alter_not_null,COPY,STRICT.result~
+@@ -4,13 +4,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 INT NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-0
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 CHAR(10))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -18,13 +15,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 CHAR(10) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 VARCHAR(10))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -32,13 +26,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 VARCHAR(20) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 TEXT)ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -46,13 +37,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 TEXT NOT NULL DEFAULT 'abc';
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, f3 INT)ENGINE=INNODB;
+ INSERT INTO t1 VALUES(2, 2, NULL);
+@@ -60,13 +48,10 @@
+ f1 f2 f3
+ 2 2 NULL
+ ALTER TABLE t1 CHANGE f3 f3 INT NOT NULL DEFAULT (f1 + f2);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f3' at row 1
++ERROR 01000: Data truncated for column 'f3' at row 1
+ SELECT * FROM t1;
+ f1 f2 f3
+-2 2 0
++2 2 NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 INT NOT NULL DEFAULT 0, b TINYINT)ENGINE=InnoDB;
+ INSERT INTO t1 VALUES(10, NULL);
+@@ -74,13 +59,10 @@
+ f1 b
+ 10 NULL
+ ALTER TABLE t1 CHANGE b b TINYINT NOT NULL DEFAULT if(unix_timestamp()>1,1000,0);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'b' at row 1
++ERROR 01000: Data truncated for column 'b' at row 1
+ SELECT * FROM t1;
+ f1 b
+-10 0
++10 NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(a INT, v INT AS (a), c INT, d INT NOT NULL, e INT) ENGINE=InnoDB;
+ ALTER TABLE t1 DROP COLUMN c, CHANGE COLUMN e e INT NOT NULL;
+@@ -95,8 +77,8 @@
+ CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(1, NULL);
+ ALTER IGNORE TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
++affected rows: 1
++info: Records: 1 Duplicates: 0 Warnings: 1
+ Warnings:
+ Warning 1265 Data truncated for column 'c2' at row 1
+ SELECT * FROM t1;
diff --git a/mysql-test/suite/innodb/r/alter_not_null,INPLACE,STRICT.rdiff b/mysql-test/suite/innodb/r/alter_not_null,INPLACE,STRICT.rdiff
index ec97b174..555f4cdb 100644
--- a/mysql-test/suite/innodb/r/alter_not_null,INPLACE,STRICT.rdiff
+++ b/mysql-test/suite/innodb/r/alter_not_null,INPLACE,STRICT.rdiff
@@ -1,66 +1,98 @@
-7,10c7
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-13c10
-< 0
----
-> NULL
-21,24c18
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-27c21
-<
----
-> NULL
-35,38c29
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-41c32
-<
----
-> NULL
-49,52c40
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f1' at row 1
----
-> ERROR 01000: Data truncated for column 'f1' at row 1
-55c43
-<
----
-> NULL
-63,66c51
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'f3' at row 1
----
-> ERROR 01000: Data truncated for column 'f3' at row 1
-69c54
-< 2 2 0
----
-> 2 2 NULL
-77,80c62
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'b' at row 1
----
-> ERROR 01000: Data truncated for column 'b' at row 1
-83c65
-< 10 0
----
-> 10 NULL
+--- alter_not_null.result
++++ alter_not_null,INPLACE,STRICT.result~
+@@ -4,13 +4,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 INT NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-0
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 CHAR(10))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -18,13 +15,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 CHAR(10) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 VARCHAR(10))ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -32,13 +26,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 VARCHAR(20) NOT NULL;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 TEXT)ENGINE=INNODB;
+ INSERT INTO t1 VALUES(NULL);
+@@ -46,13 +37,10 @@
+ f1
+ NULL
+ ALTER TABLE t1 CHANGE f1 f1 TEXT NOT NULL DEFAULT 'abc';
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f1' at row 1
++ERROR 01000: Data truncated for column 'f1' at row 1
+ SELECT * FROM t1;
+ f1
+-
++NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, f3 INT)ENGINE=INNODB;
+ INSERT INTO t1 VALUES(2, 2, NULL);
+@@ -60,13 +48,10 @@
+ f1 f2 f3
+ 2 2 NULL
+ ALTER TABLE t1 CHANGE f3 f3 INT NOT NULL DEFAULT (f1 + f2);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'f3' at row 1
++ERROR 01000: Data truncated for column 'f3' at row 1
+ SELECT * FROM t1;
+ f1 f2 f3
+-2 2 0
++2 2 NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(f1 INT NOT NULL DEFAULT 0, b TINYINT)ENGINE=InnoDB;
+ INSERT INTO t1 VALUES(10, NULL);
+@@ -74,13 +59,10 @@
+ f1 b
+ 10 NULL
+ ALTER TABLE t1 CHANGE b b TINYINT NOT NULL DEFAULT if(unix_timestamp()>1,1000,0);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'b' at row 1
++ERROR 01000: Data truncated for column 'b' at row 1
+ SELECT * FROM t1;
+ f1 b
+-10 0
++10 NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(a INT, v INT AS (a), c INT, d INT NOT NULL, e INT) ENGINE=InnoDB;
+ ALTER TABLE t1 DROP COLUMN c, CHANGE COLUMN e e INT NOT NULL;
diff --git a/mysql-test/suite/innodb/r/autoinc_debug.result b/mysql-test/suite/innodb/r/autoinc_debug.result
index b3b7a469..59740e43 100644
--- a/mysql-test/suite/innodb/r/autoinc_debug.result
+++ b/mysql-test/suite/innodb/r/autoinc_debug.result
@@ -105,3 +105,60 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
DROP TABLE t1;
SET DEBUG_SYNC='RESET';
+#
+# MDEV-33593: Auto increment deadlock error causes ASSERT in subsequent save point
+#
+CREATE TABLE t1(col1 INT PRIMARY KEY AUTO_INCREMENT, col2 INT) ENGINE=InnoDB;
+CREATE TABLE t2(col1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1(col2) values(100);
+connect con1, localhost, root,,;
+START TRANSACTION;
+# T1: Acquiring Row X lock on table t2
+INSERT INTO t2 values(100);
+connect con2, localhost, root,,;
+START TRANSACTION;
+# T2: Wait for (T1) row lock on t2 after acquiring GAP Lock on t1
+UPDATE t1 SET col2 = 20 where col1 = 10;
+SET DEBUG_SYNC='lock_wait_before_suspend SIGNAL t2_waiting';
+INSERT INTO t2 values(100);
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR t2_waiting';
+# T3: Wait for (T2) II row Lock on t1 after acquiring Auto Increment Lock on t1
+SET DEBUG_SYNC='lock_wait_before_suspend SIGNAL t3_waiting';
+INSERT INTO t1(col2) SELECT col2 from t1;
+connection con1;
+SAVEPOINT s1;
+SET DEBUG_SYNC='now WAIT_FOR t3_waiting';
+# T1: Wait for (T3) auto increment lock on t1 causing T1 -> T3 -> T2 -> T1 deadlock
+SET debug_dbug = '+d,innodb_deadlock_victim_self';
+INSERT INTO t1(col2) VALUES(200);
+ERROR HY000: Failed to read auto-increment value from storage engine
+# The transaction should have been rolled back
+SELECT * FROM t1;
+col1 col2
+1 100
+SELECT * FROM t2;
+col1
+# Release the previous savepoint using the same name
+SAVEPOINT s1;
+COMMIT;
+connection con2;
+COMMIT;
+connection default;
+COMMIT;
+disconnect con1;
+disconnect con2;
+# Cleanup
+SELECT * FROM t1;
+col1 col2
+1 100
+2 100
+DROP TABLE t1;
+SELECT * FROM t2;
+col1
+100
+DROP TABLE t2;
+SET DEBUG_SYNC='RESET';
+#
+# End of 10.5 tests
+#
diff --git a/mysql-test/suite/innodb/r/autoinc_import.result b/mysql-test/suite/innodb/r/autoinc_import.result
new file mode 100644
index 00000000..4a8ddd02
--- /dev/null
+++ b/mysql-test/suite/innodb/r/autoinc_import.result
@@ -0,0 +1,232 @@
+CREATE TABLE t1 (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(42);
+CREATE TABLE t1b LIKE t1;
+INSERT INTO t1b VALUES(3);
+CREATE TABLE t1z LIKE t1;
+CREATE TABLE t1t (id TINYINT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t0t LIKE t1t;
+INSERT INTO t1t VALUES(123);
+FLUSH TABLES t1,t1b,t1t FOR EXPORT;
+UNLOCK TABLES;
+CREATE TABLE t5_7 LIKE t1;
+CREATE TABLE t5_7b LIKE t1b;
+CREATE TABLE t10_1 LIKE t1;
+CREATE TABLE t10_1b LIKE t1b;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1b DISCARD TABLESPACE;
+ALTER TABLE t1z DISCARD TABLESPACE;
+ALTER TABLE t1t DISCARD TABLESPACE;
+ALTER TABLE t0t DISCARD TABLESPACE;
+ALTER TABLE t5_7 DISCARD TABLESPACE;
+ALTER TABLE t5_7b DISCARD TABLESPACE;
+ALTER TABLE t10_1 DISCARD TABLESPACE;
+ALTER TABLE t10_1b DISCARD TABLESPACE;
+FLUSH TABLES;
+ALTER TABLE t0t IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t0t.cfg', will attempt to import without schema verification
+INSERT INTO t0t VALUES(NULL);
+SELECT * FROM t0t;
+id
+123
+124
+DROP TABLE t0t;
+ALTER TABLE t1 IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1.cfg', will attempt to import without schema verification
+ALTER TABLE t1b IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1b.cfg', will attempt to import without schema verification
+ALTER TABLE t1z IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1z.cfg', will attempt to import without schema verification
+ALTER TABLE t1t IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1t.cfg', will attempt to import without schema verification
+ALTER TABLE t5_7 IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t5_7.cfg', will attempt to import without schema verification
+ALTER TABLE t5_7b IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t5_7b.cfg', will attempt to import without schema verification
+ALTER TABLE t10_1 IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t10_1.cfg', will attempt to import without schema verification
+ALTER TABLE t10_1b IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t10_1b.cfg', will attempt to import without schema verification
+FOUND 1 /InnoDB: Resetting PAGE_ROOT_AUTO_INC from 128 to 123 on table `test`\.`t0t`/ in mysqld.1.err
+FOUND 1 /InnoDB: Resetting PAGE_ROOT_AUTO_INC from 0 to 42 on table `test`\.`t1z`/ in mysqld.1.err
+FOUND 1 /InnoDB: Resetting PAGE_ROOT_AUTO_INC from 128 to 123 on table `test`\.`t1t`/ in mysqld.1.err
+FOUND 1 /InnoDB: Resetting PAGE_ROOT_AUTO_INC from 3 to 42 on table `test`\.`t5_7` \(created with version 50744\)/ in mysqld.1.err
+FOUND 1 /InnoDB: Resetting PAGE_ROOT_AUTO_INC from 3 to 42 on table `test`\.`t10_1` \(created with version 100149\)/ in mysqld.1.err
+FOUND 5 /InnoDB: Resetting PAGE_ROOT_AUTO_INC/ in mysqld.1.err
+# restart: --read-only
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7 check status OK
+test.t5_7b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7b check status OK
+test.t10_1 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1 check status OK
+test.t10_1b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1b check status OK
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7 check status OK
+test.t5_7b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7b check status OK
+test.t10_1 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1 check status OK
+test.t10_1b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1b check status OK
+# restart: --innodb-read-only --read-only
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7 check status OK
+test.t5_7b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7b check status OK
+test.t10_1 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1 check status OK
+test.t10_1b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1b check status OK
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7 check status OK
+test.t5_7b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t5_7b check status OK
+test.t10_1 check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1 check status OK
+test.t10_1b check note Auto_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed
+test.t10_1b check status OK
+# restart: --innodb-read-only
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check status Operation failed
+test.t5_7b check status Operation failed
+test.t10_1 check status Operation failed
+test.t10_1b check status Operation failed
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check status Operation failed
+test.t5_7b check status Operation failed
+test.t10_1 check status Operation failed
+test.t10_1b check status Operation failed
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1b;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1t;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1z;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t5_7;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t5_7b;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t10_1;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t10_1b;
+COUNT(*)
+1
+# restart
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check note Auto_increment checked and .frm file version updated
+test.t5_7 check status OK
+test.t5_7b check note Auto_increment checked and .frm file version updated
+test.t5_7b check status OK
+test.t10_1 check note Auto_increment checked and .frm file version updated
+test.t10_1 check status OK
+test.t10_1b check note Auto_increment checked and .frm file version updated
+test.t10_1b check status OK
+INSERT INTO t1 VALUES(NULL);
+INSERT INTO t1b VALUES(NULL);
+INSERT INTO t1t VALUES(NULL);
+INSERT INTO t1z VALUES(NULL);
+INSERT INTO t5_7 VALUES(NULL);
+INSERT INTO t5_7b VALUES(NULL);
+INSERT INTO t10_1 VALUES(NULL);
+INSERT INTO t10_1b VALUES(NULL);
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t1b check status OK
+test.t1t check status OK
+test.t1z check status OK
+test.t5_7 check status OK
+test.t5_7b check status OK
+test.t10_1 check status OK
+test.t10_1b check status OK
+SELECT * FROM t1;
+id
+4
+42
+SELECT * FROM t1b;
+id
+3
+347
+SELECT * FROM t1t;
+id
+123
+124
+SELECT * FROM t1z;
+id
+42
+43
+SELECT * FROM t5_7;
+id
+42
+43
+SELECT * FROM t5_7b;
+id
+3
+347
+SELECT * FROM t10_1;
+id
+42
+43
+SELECT * FROM t10_1b;
+id
+3
+347
+DROP TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff
index 44446602..ad1f3a44 100644
--- a/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff
+++ b/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff
@@ -1,5 +1,5 @@
---- mysql-test/suite/innodb/r/check_ibd_filesize.result 2022-08-16 17:28:06.462350465 +0530
-+++ mysql-test/suite/innodb/r/check_ibd_filesize.reject 2022-08-16 17:29:25.129637040 +0530
+--- mysql-test/suite/innodb/r/check_ibd_filesize.result
++++ mysql-test/suite/innodb/r/check_ibd_filesize.reject
@@ -3,18 +3,12 @@
# SPACE IN 5.7 THAN IN 5.6
#
@@ -14,7 +14,7 @@
-# bytes: 65536
+# bytes: 131072
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
--# bytes: 4194304
+-# bytes: 2097152
-DROP TABLE t1;
-CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB)
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff
index ef55ad97..1412df39 100644
--- a/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff
+++ b/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff
@@ -1,5 +1,5 @@
---- mysql-test/suite/innodb/r/check_ibd_filesize.result 2022-08-16 17:28:06.462350465 +0530
-+++ mysql-test/suite/innodb/r/check_ibd_filesize.reject 2022-08-16 17:31:39.288769153 +0530
+--- mysql-test/suite/innodb/r/check_ibd_filesize.result
++++ mysql-test/suite/innodb/r/check_ibd_filesize.reject
@@ -3,18 +3,18 @@
# SPACE IN 5.7 THAN IN 5.6
#
@@ -13,7 +13,7 @@
-# bytes: 65536
+# bytes: 16384
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
- # bytes: 4194304
+ # bytes: 2097152
DROP TABLE t1;
CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB)
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff
index bcdcea31..15692559 100644
--- a/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff
+++ b/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff
@@ -1,5 +1,5 @@
---- mysql-test/suite/innodb/r/check_ibd_filesize.result 2022-08-16 17:28:06.462350465 +0530
-+++ mysql-test/suite/innodb/r/check_ibd_filesize.reject 2022-08-16 17:30:28.957174270 +0530
+--- mysql-test/suite/innodb/r/check_ibd_filesize.result
++++ mysql-test/suite/innodb/r/check_ibd_filesize.reject
@@ -3,18 +3,12 @@
# SPACE IN 5.7 THAN IN 5.6
#
@@ -14,7 +14,7 @@
-# bytes: 65536
+# bytes: 262144
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
--# bytes: 4194304
+-# bytes: 2097152
-DROP TABLE t1;
-CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB)
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff
index 7b699ef4..55cf5973 100644
--- a/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff
+++ b/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff
@@ -1,5 +1,5 @@
---- mysql-test/suite/innodb/r/check_ibd_filesize.result 2022-08-16 17:28:06.462350465 +0530
-+++ mysql-test/suite/innodb/r/check_ibd_filesize.reject 2022-08-16 17:31:03.516962339 +0530
+--- mysql-test/suite/innodb/r/check_ibd_filesize.result
++++ mysql-test/suite/innodb/r/check_ibd_filesize.reject
@@ -3,18 +3,18 @@
# SPACE IN 5.7 THAN IN 5.6
#
@@ -13,7 +13,7 @@
-# bytes: 65536
+# bytes: 32768
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
- # bytes: 4194304
+ # bytes: 2097152
DROP TABLE t1;
CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB)
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize.result b/mysql-test/suite/innodb/r/check_ibd_filesize.result
index 0d224d6a..b0f37618 100644
--- a/mysql-test/suite/innodb/r/check_ibd_filesize.result
+++ b/mysql-test/suite/innodb/r/check_ibd_filesize.result
@@ -10,7 +10,7 @@ DROP TABLE t1;
CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB;
# bytes: 65536
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
-# bytes: 4194304
+# bytes: 2097152
DROP TABLE t1;
CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB)
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
diff --git a/mysql-test/suite/innodb/r/cursor-restore-unique-null.result b/mysql-test/suite/innodb/r/cursor-restore-unique-null.result
new file mode 100644
index 00000000..29edc47a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/cursor-restore-unique-null.result
@@ -0,0 +1,24 @@
+CREATE TABLE t(a INT PRIMARY KEY, b INT, c INT, UNIQUE KEY `b_c` (`b`,`c`))
+ENGINE=InnoDB, STATS_PERSISTENT=0;
+INSERT INTO t SET a = 1, c = 2;
+connect con1,localhost,root;
+BEGIN;
+INSERT INTO t SET a=2, c=2;
+connection default;
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL select_locked";
+SELECT * FROM t FORCE INDEX(b) FOR UPDATE;
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR select_locked";
+ROLLBACK;
+connection default;
+# If the bug is not fixed, and the both unique index key fields are
+# NULL, there will be two (1, NULL, 2) rows in the result,
+# because cursor will be restored to (NULL, 2, 1) position for
+# secondary key instead of "supremum".
+a b c
+1 NULL 2
+COMMIT;
+SET DEBUG_SYNC="RESET";
+disconnect con1;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result
index 808e2270..80a0afb8 100644
--- a/mysql-test/suite/innodb/r/foreign_key.result
+++ b/mysql-test/suite/innodb/r/foreign_key.result
@@ -1035,9 +1035,22 @@ BEGIN;
INSERT INTO child SET a=1;
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`))
connection default;
+TRUNCATE TABLE parent;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`parent` (`a`))
+DROP TABLE parent;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+SET innodb_lock_wait_timeout=0;
+RENAME TABLE parent TO transparent;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SET innodb_lock_wait_timeout=0, foreign_key_checks=0;
TRUNCATE TABLE parent;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DROP TABLE parent;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ALTER TABLE parent FORCE, ALGORITHM=COPY;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
@@ -1052,7 +1065,13 @@ TRUNCATE TABLE parent;
ALTER TABLE parent FORCE, ALGORITHM=COPY;
ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
-DROP TABLE child, parent;
+SET foreign_key_checks=ON;
+TRUNCATE TABLE parent;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`parent` (`a`))
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+RENAME TABLE parent TO transparent;
+DROP TABLE child, transparent;
#
# MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove
# or Assertion `lock->trx == this' failed in dberr_t trx_t::drop_table
diff --git a/mysql-test/suite/innodb/r/full_crc32_import.result b/mysql-test/suite/innodb/r/full_crc32_import.result
index 548e69c1..416f607c 100644
--- a/mysql-test/suite/innodb/r/full_crc32_import.result
+++ b/mysql-test/suite/innodb/r/full_crc32_import.result
@@ -50,7 +50,15 @@ t1 CREATE TABLE `t1` (
`b` blob DEFAULT NULL,
`c` blob DEFAULT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC
+) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC
+# Auto increment value must be more than maximum column value
+SELECT MAX(a) FROM t1;
+MAX(a)
+45
+SELECT auto_increment FROM information_schema.tables
+WHERE table_name like 't1';
+auto_increment
+46
UPDATE t1 set b = repeat("de", 100) where b = repeat("cd", 200);
explain SELECT a FROM t1 where b = repeat("de", 100);
id select_type table type possible_keys key key_len ref rows Extra
@@ -132,7 +140,15 @@ t1 CREATE TABLE `t1` (
`c2` point NOT NULL,
`c3` linestring NOT NULL,
PRIMARY KEY (`c1`)
-) ENGINE=InnoDB AUTO_INCREMENT=16372 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC
+) ENGINE=InnoDB AUTO_INCREMENT=14325 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC
+# Auto increment value must be more than maximum column value
+SELECT MAX(c1) FROM t1;
+MAX(c1)
+14324
+SELECT auto_increment FROM information_schema.tables
+WHERE table_name like 't1';
+auto_increment
+14325
UPDATE t1 SET C2 = ST_GeomFromText('POINT(0 0)');
SELECT COUNT(*) FROM t1;
COUNT(*)
diff --git a/mysql-test/suite/innodb/r/import_bugs.result b/mysql-test/suite/innodb/r/import_bugs.result
index 98f3e767..26845e55 100644
--- a/mysql-test/suite/innodb/r/import_bugs.result
+++ b/mysql-test/suite/innodb/r/import_bugs.result
@@ -15,6 +15,58 @@ CREATE TABLE imp_t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE imp_t1, t1;
SET GLOBAL innodb_checksum_algorithm=@save_innodb_checksum_algorithm;
#
+# MDEV-33400 Adaptive hash index corruption after DISCARD TABLESPACE
+#
+SET @save_adaptive=@@GLOBAL.innodb_adaptive_hash_index;
+SET GLOBAL innodb_adaptive_hash_index=ON;
+CREATE TABLE t (a INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t SELECT * FROM seq_1_to_131;
+ALTER TABLE t ADD hid INT DEFAULT 2;
+INSERT INTO t VALUES (251,1);
+ALTER TABLE t DISCARD TABLESPACE;
+CHECK TABLE mysql.innodb_table_stats;
+Table Op Msg_type Msg_text
+mysql.innodb_table_stats check status OK
+DROP TABLE t;
+SET GLOBAL innodb_adaptive_hash_index=@save_adaptive;
+# End of 10.4 tests
+#
+# MDEV-18288: Transportable Tablespaces leave AUTO_INCREMENT in mismatched
+# state, causing INSERT errors in newly imported tables when .cfg is not used.
+#
+CREATE TABLE t1(
+id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+PRIMARY KEY (id)
+) ENGINE=INNODB;
+CREATE TABLE t2 LIKE t1;
+ALTER TABLE t2 DISCARD TABLESPACE;
+INSERT INTO t1() VALUES();
+INSERT INTO t1() VALUES();
+FLUSH TABLES test.t1 FOR EXPORT;
+# Copy data file
+# Skip CFG file copy
+UNLOCK TABLES;
+DROP TABLE t1;
+ALTER TABLE t2 IMPORT TABLESPACE;
+Warnings:
+Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t2.cfg', will attempt to import without schema verification
+SELECT * FROM t2 ORDER BY id;
+id
+1
+2
+INSERT INTO t2() VALUES();
+INSERT INTO t2() VALUES();
+INSERT INTO t2() VALUES();
+SELECT * FROM t2 ORDER BY id;
+id
+1
+2
+3
+4
+5
+DROP TABLE t2;
+# End of 10.5 tests
+#
# MDEV-27006 Assertion `!lock_trx_has_sys_table_locks(trx)'
# failed in dberr_t row_discard_tablespace_for_mysql
# (dict_table_t*, trx_t*)
diff --git a/mysql-test/suite/innodb/r/import_hidden_fts.result b/mysql-test/suite/innodb/r/import_hidden_fts.result
new file mode 100644
index 00000000..69120898
--- /dev/null
+++ b/mysql-test/suite/innodb/r/import_hidden_fts.result
@@ -0,0 +1,45 @@
+call mtr.add_suppression("InnoDB: Added system generated FTS_DOC_ID and FTS_DOC_ID_INDEX while importing the tablespace");
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) not null, fulltext f_idx(f2),
+f3 INT as (f1) VIRTUAL, INDEX(f3),
+f4 INT as (f1) STORED, INDEX(f4),
+f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
+INSERT INTO t1(f1, f2) VALUES(1, "on");
+INSERT INTO t1(f1, f2) SELECT seq, "si" FROM seq_2_to_256;
+ALTER TABLE t1 ADD COLUMN f6 INT NOT NULL;
+ALTER TABLE t1 DROP COLUMN f6;
+ALTER TABLE t1 DROP INDEX f_idx;
+connect con1,localhost,root,,;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+connection default;
+DELETE FROM t1 WHERE f1 > 1;
+FLUSH TABLE t1 FOR EXPORT;
+Warnings:
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+backup: t1
+UNLOCK TABLES;
+Warnings:
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) not null,
+f3 INT as (f1) VIRTUAL, INDEX(f3),
+f4 INT as (f1) STORED, INDEX(f4),
+f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` char(2) NOT NULL,
+ `f3` int(11) GENERATED ALWAYS AS (`f1`) VIRTUAL,
+ `f4` int(11) GENERATED ALWAYS AS (`f1`) STORED,
+ `f5` int(11) GENERATED ALWAYS AS (`f1`) VIRTUAL,
+ PRIMARY KEY (`f1`),
+ KEY `f3` (`f3`),
+ KEY `f4` (`f4`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/import_hidden_fts_debug.result b/mysql-test/suite/innodb/r/import_hidden_fts_debug.result
new file mode 100644
index 00000000..2cf1746e
--- /dev/null
+++ b/mysql-test/suite/innodb/r/import_hidden_fts_debug.result
@@ -0,0 +1,76 @@
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) NOT NULL, FULLTEXT f_idx(f2),
+f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
+INSERT INTO t1(f1, f2) VALUES(1, "on");
+ALTER TABLE t1 DROP INDEX f_idx;
+FLUSH TABLE t1 FOR EXPORT;
+Warnings:
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+backup: t1
+UNLOCK TABLES;
+Warnings:
+Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) NOT NULL,
+f3 CHAR(2) NOT NULL,
+f4 INT AS (f1) VIRTUAL, INDEX(f4))ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Number of indexes don't match, table has 2 indexes but the tablespace meta-data file has 3 indexes)
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) NOT NULL,
+f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+SET DEBUG_DBUG="+d,ib_import_set_index_root_failure";
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Too many active concurrent transactions
+SET DEBUG_DBUG="-d,ib_import_set_index_root_failure";
+SET DEBUG_DBUG="+d,ib_import_vcol_update_fail";
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR 23000: Can't write; duplicate key in table 't1'
+SET DEBUG_DBUG="-d,ib_import_vcol_update_fail";
+restore: t1 .ibd and .cfg files
+SET DEBUG_DBUG="+d,ib_import_fts_error";
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR 23000: Can't write; duplicate key in table 't1'
+SET DEBUG_DBUG="-d,ib_import_fts_error";
+unlink: t1.ibd
+unlink: t1.cfg
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
+WHERE table_id IN (SELECT table_id FROM information_schema.innodb_sys_tables where name="test/t1");
+NAME
+f1
+f2
+f3
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` char(2) NOT NULL,
+ `f3` int(11) GENERATED ALWAYS AS (`f1`) VIRTUAL,
+ PRIMARY KEY (`f1`),
+ KEY `f3` (`f3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+FTS_DOC_ID BIGINT SIGNED NOT NULL,
+f2 CHAR(2) NOT NULL,
+FULLTEXT f_idx(f2))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, "on");
+ALTER TABLE t1 DROP INDEX f_idx;
+FLUSH TABLE t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+f2 CHAR(2) NOT NULL)ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Column f2 ordinal value mismatch, it's at 1 in the table and 2 in the tablespace meta-data file)
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/index_length.result b/mysql-test/suite/innodb/r/index_length.result
index cc92780a..e0d6a735 100644
--- a/mysql-test/suite/innodb/r/index_length.result
+++ b/mysql-test/suite/innodb/r/index_length.result
@@ -20,4 +20,12 @@ FLOOR(index_length/@@innodb_page_size)
2
disconnect stop_purge;
DROP TABLE t1;
+#
+# MDEV-22855 Assertion (!field->prefix_len ||
+# field->fixed_len == field->prefix_len)
+# failed in btr_node_ptr_max_size
+#
+CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
+INSERT INTO t1 SET c='';
+DROP TABLE t1;
# End of 10.4 tests
diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result
index c55b4a3d..fd33581f 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result
@@ -108,11 +108,11 @@ DROP TABLE t;
# MDEV-26772 InnoDB DDL fails with DUPLICATE KEY error
#
create table t1(f1 int not null primary key,
-f2 int not null, index idx(f2))engine=innodb;
+f2 int not null, index idx(f2), index i(f2,f1))engine=innodb;
insert into t1 values(1, 1);
connect con1,localhost,root,,,;
SET DEBUG_SYNC='before_delete_table_stats SIGNAL blocked WAIT_FOR go';
-SET innodb_lock_wait_timeout=0;
+SET STATEMENT innodb_lock_wait_timeout=0 FOR
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
connection default;
SET DEBUG_SYNC='now WAIT_FOR blocked';
@@ -124,6 +124,17 @@ connection con1;
connection default;
COMMIT;
SET DEBUG_SYNC=RESET;
+RENAME TABLE mysql.innodb_table_stats TO mysql.innodb_table_stats_hidden;
+connection con1;
+SET DEBUG_SYNC='innodb_commit_inplace_before_lock SIGNAL blocked WAIT_FOR go';
+ALTER TABLE t1 DROP INDEX i;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR blocked';
+RENAME TABLE mysql.innodb_table_stats_hidden TO mysql.innodb_table_stats;
+SET DEBUG_SYNC='now SIGNAL go';
+connection con1;
+connection default;
+SET DEBUG_SYNC=RESET;
connection con1;
ALTER TABLE t1 RENAME KEY idx TO idx1, ALGORITHM=COPY;
disconnect con1;
diff --git a/mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result b/mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result
deleted file mode 100644
index 09e53b59..00000000
--- a/mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result
+++ /dev/null
@@ -1,10 +0,0 @@
-call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
-SET @saved_debug = @@SESSION.debug_dbug;
-SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
-CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB;
-BEGIN;
-INSERT INTO t1 VALUES (repeat('abcdefghijklmnopqrstuvwxyz',200));
-COMMIT;
-SET debug_dbug = @saved_debug;
-DROP TABLE t1;
-FOUND 1 /InnoDB: Difficult to find free blocks / in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522,crc32.rdiff b/mysql-test/suite/innodb/r/innodb-wl5522,crc32.rdiff
deleted file mode 100644
index bb902e18..00000000
--- a/mysql-test/suite/innodb/r/innodb-wl5522,crc32.rdiff
+++ /dev/null
@@ -1,5 +0,0 @@
-120,121c120
-< Warnings:
-< Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t2.cfg', will attempt to import without schema verification
----
-> ERROR HY000: Schema mismatch (Expected FSP_SPACE_FLAGS=0x*, .ibd file contains 0x*.)
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff b/mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff
index bb902e18..283bbe96 100644
--- a/mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff
+++ b/mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff
@@ -1,5 +1,12 @@
-120,121c120
-< Warnings:
-< Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t2.cfg', will attempt to import without schema verification
----
-> ERROR HY000: Schema mismatch (Expected FSP_SPACE_FLAGS=0x*, .ibd file contains 0x*.)
+--- innodb-wl5522.result
++++ innodb-wl5522,strict_crc32.result~
+@@ -131,8 +131,7 @@
+ ALTER TABLE t2 IMPORT TABLESPACE;
+ ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x21 and the meta-data file has 0x1; .cfg file uses ROW_FORMAT=COMPACT)
+ ALTER TABLE t2 IMPORT TABLESPACE;
+-Warnings:
+-Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t2.cfg', will attempt to import without schema verification
++ERROR HY000: Schema mismatch (Expected FSP_SPACE_FLAGS=0x*, .ibd file contains 0x*.)
+ DROP TABLE t2;
+ SET GLOBAL innodb_file_per_table = 1;
+ SELECT @@innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/r/innodb_bug30113362.result b/mysql-test/suite/innodb/r/innodb_bug30113362.result
index cb0f5091..5d30c5c0 100644
--- a/mysql-test/suite/innodb/r/innodb_bug30113362.result
+++ b/mysql-test/suite/innodb/r/innodb_bug30113362.result
@@ -37,7 +37,7 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
CLUST_INDEX_SIZE
-1856
+1792
connection con2;
DELETE FROM t1 WHERE a00 = 'cnm';
COMMIT;
@@ -80,7 +80,7 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
CLUST_INDEX_SIZE
-1856
+1792
DELETE FROM t1 WHERE a00 = 'dpn';
COMMIT;
INSERT INTO t1 SET a00 = 'dpn';
@@ -117,6 +117,6 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
CLUST_INDEX_SIZE
-1856
+1792
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_mysql.result b/mysql-test/suite/innodb/r/innodb_mysql.result
index d142c0e4..9d8ead7a 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -431,10 +431,6 @@ a
connection con1;
begin work;
insert into t1 values (5);
-select * from t1;
-a
-1
-5
insert into t1 values (2);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
@@ -509,10 +505,6 @@ a
connection con1;
begin work;
insert into t1 values (5);
-select * from t1;
-a
-1
-5
insert into t1 values (2);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
@@ -1217,10 +1209,6 @@ a
connection con1;
begin work;
insert into t1 values (5);
-select * from t1;
-a
-1
-5
insert into t1 values (2);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
diff --git a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
index 832a4800..94e40ee5 100644
--- a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
+++ b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
@@ -86,7 +86,6 @@ buffer_flush_n_to_flush_by_age buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NUL
buffer_flush_adaptive_avg_time buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Avg time (ms) spent for adaptive flushing recently.
buffer_flush_adaptive_avg_pass buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of adaptive flushes passed during the recent Avg period.
buffer_LRU_get_free_loops buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Total loops in LRU get free.
-buffer_LRU_get_free_waits buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Total sleep waits in LRU get free.
buffer_flush_avg_page_rate buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Average number of pages at which flushing is happening
buffer_flush_lsn_avg_rate buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Average redo generation rate
buffer_flush_pct_for_dirty buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Percent of IO capacity used to avoid max dirty page limit
@@ -106,7 +105,6 @@ buffer_LRU_batch_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NUL
buffer_LRU_batch_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 set_member Pages scanned per LRU batch call
buffer_LRU_batch_flush_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Total pages flushed as part of LRU batches
buffer_LRU_batch_evict_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Total pages evicted as part of LRU batches
-buffer_LRU_single_flush_failure_count Buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of times attempt to flush a single page from LRU failed
buffer_LRU_get_free_search Buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of searches performed for a clean page
buffer_LRU_search_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 set_owner Total pages scanned as part of LRU search
buffer_LRU_search_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 set_member Number of times LRU search is performed
diff --git a/mysql-test/suite/innodb/r/innodb_stats_fetch.result b/mysql-test/suite/innodb/r/innodb_stats_fetch.result
index df6bc4b0..cb205b18 100644
--- a/mysql-test/suite/innodb/r/innodb_stats_fetch.result
+++ b/mysql-test/suite/innodb/r/innodb_stats_fetch.result
@@ -174,3 +174,10 @@ SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_VIRTUAL LIMIT ROWS EXAMINED 5;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN LIMIT ROWS EXAMINED 5;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS LIMIT ROWS EXAMINED 5;
DROP TABLE t1;
+#
+# MDEV-33462 Disallow LOCK=NONE operation on statistics table
+#
+ALTER TABLE mysql.innodb_table_stats FORCE, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: innodb_table_stats. Try LOCK=SHARED
+ALTER TABLE mysql.innodb_index_stats FORCE, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: innodb_index_stats. Try LOCK=SHARED
diff --git a/mysql-test/suite/innodb/r/innodb_timeout_rollback.result b/mysql-test/suite/innodb/r/innodb_timeout_rollback.result
index 30db5a21..5f99ad75 100644
--- a/mysql-test/suite/innodb/r/innodb_timeout_rollback.result
+++ b/mysql-test/suite/innodb/r/innodb_timeout_rollback.result
@@ -17,10 +17,6 @@ a
connection con1;
begin work;
insert into t1 values (5);
-select * from t1;
-a
-1
-5
insert into t1 values (2);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
@@ -41,4 +37,4 @@ a
drop table t1;
disconnect con1;
disconnect con2;
-End of 5.0 tests
+# End of 5.0 tests
diff --git a/mysql-test/suite/innodb/r/innodb_ut_format_name.result b/mysql-test/suite/innodb/r/innodb_ut_format_name.result
deleted file mode 100644
index 41a5b0f7..00000000
--- a/mysql-test/suite/innodb/r/innodb_ut_format_name.result
+++ /dev/null
@@ -1,5 +0,0 @@
-CREATE TABLE t (c INT) ENGINE=INNODB;
-SET @save_dbug = @@debug_dbug;
-SET debug_dbug = '+d,test_ut_format_name';
-DROP TABLE t;
-SET debug_dbug = @save_dbug;
diff --git a/mysql-test/suite/innodb/r/insert_into_empty,4k.rdiff b/mysql-test/suite/innodb/r/insert_into_empty,4k.rdiff
index baa017ec..ad3d03a7 100644
--- a/mysql-test/suite/innodb/r/insert_into_empty,4k.rdiff
+++ b/mysql-test/suite/innodb/r/insert_into_empty,4k.rdiff
@@ -1,2 +1,10 @@
-423a424
-> ERROR 42000: Row size too large (> 1982). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
+--- a/mysql-test/suite/innodb/r/insert_into_empty.result
++++ b/mysql-test/suite/innodb/r/insert_into_empty.result
+@@ -430,6 +430,7 @@
+ INSERT IGNORE INTO t1 VALUES
+ (1, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107)),
+ (2, REPEAT('x',4805), REPEAT('t',2211), REPEAT('u',974), REPEAT('e',871), REPEAT('z',224), REPEAT('j',978), REPEAT('n',190), REPEAT('t',888), REPEAT('x',32768), REPEAT('e',968), REPEAT('b',913), REPEAT('x',12107));
++ERROR 42000: Row size too large (> 1982). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
+ CHECK TABLE t1;
+ Table Op Msg_type Msg_text
+ test.t1 check status OK
diff --git a/mysql-test/suite/innodb/r/insert_into_empty.result b/mysql-test/suite/innodb/r/insert_into_empty.result
index 0cdee172..78d93494 100644
--- a/mysql-test/suite/innodb/r/insert_into_empty.result
+++ b/mysql-test/suite/innodb/r/insert_into_empty.result
@@ -251,6 +251,15 @@ c1
1984
3331
DROP TABLE t1;
+#
+# MDEV-33979 Disallow bulk insert operation during
+# partition update statement
+#
+CREATE TABLE t1(a INT KEY)ENGINE=InnoDB
+PARTITION BY KEY(a) PARTITIONS 16;
+INSERT INTO t1 VALUES(1);
+UPDATE t1 SET a = 2 WHERE a = 1;
+DROP TABLE t1;
# End of 10.6 tests
#
# MDEV-26947 UNIQUE column checks fail in InnoDB resulting
@@ -467,3 +476,47 @@ DROP TABLE t1;
CREATE TABLE t (a CHAR CHARACTER SET utf8) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
INSERT t SELECT left(seq,1) FROM seq_1_to_43691;
DROP TABLE t;
+#
+# MDEV-32453 Bulk insert fails to apply when trigger
+# does insert operation
+#
+CREATE TABLE t(c INT)ENGINE=InnoDB;
+CREATE TRIGGER t2_ai AFTER INSERT ON t FOR EACH ROW SET @a:=(SELECT * FROM t);
+BEGIN;
+INSERT INTO t VALUES (1),(1);
+ERROR 21000: Subquery returns more than 1 row
+COMMIT;
+DROP TABLE t;
+#
+# MDEV-33868 Assertion `trx->bulk_insert' failed in
+# innodb_prepare_commit_versioned
+#
+CREATE TABLE t (id INT) ENGINE=InnoDB;
+select 1 into outfile "VARDIR/tmp/t.outfile";
+BEGIN;
+LOAD DATA INFILE 'VARDIR/tmp/t.outfile' INTO TABLE t;
+COMMIT;
+DROP TABLE t;
+#
+# MDEV-33934 Assertion `!check_foreigns' failed in
+# trx_t::bulk_insert_apply_for_table(dict_table_t*)
+#
+CREATE TABLE t1(f1 INT,f2 INT,KEY(f1))engine=innodb;
+BEGIN;
+INSERT INTO t1 VALUES();
+SET STATEMENT FOREIGN_KEY_CHECKS=1 FOR SELECT * FROM t1;
+f1 f2
+NULL NULL
+COMMIT;
+DROP TABLE t1;
+#
+# MDEV-33970 Assertion `!m.first->second.is_bulk_insert()'
+# failed in trx_undo_report_row_operation()
+#
+CREATE TABLE t1(c1 INT,c2 CHAR) ENGINE=INNODB PARTITION BY KEY(c1) PARTITIONS 2;
+begin;
+INSERT INTO t1 VALUES(2,0);
+DELETE FROM t1;
+commit;
+DROP TABLE t1;
+# End of 10.11 tests
diff --git a/mysql-test/suite/innodb/r/instant_alter_crash.result b/mysql-test/suite/innodb/r/instant_alter_crash.result
index e423afe1..565f7e4b 100644
--- a/mysql-test/suite/innodb/r/instant_alter_crash.result
+++ b/mysql-test/suite/innodb/r/instant_alter_crash.result
@@ -202,27 +202,3 @@ Table Op Msg_type Msg_text
test.t2 check status OK
DROP TABLE t1,t2;
db.opt
-#
-# MDEV-26198 Assertion `0' failed in row_log_table_apply_op during
-# ADD PRIMARY KEY or OPTIMIZE TABLE
-#
-CREATE TABLE t1(f1 year default null, f2 year default null,
-f3 text, f4 year default null, f5 year default null,
-f6 year default null, f7 year default null,
-f8 year default null)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
-INSERT INTO t1 VALUES(1, 1, 1, 1, 1, 1, 1, 1);
-ALTER TABLE t1 ADD COLUMN f9 year default null, ALGORITHM=INPLACE;
-set DEBUG_SYNC="row_log_table_apply1_before SIGNAL con1_insert WAIT_FOR con1_finish";
-ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ADD COLUMN f10 YEAR DEFAULT NULL, ALGORITHM=INPLACE;
-connect con1,localhost,root,,,;
-SET DEBUG_SYNC="now WAIT_FOR con1_insert";
-INSERT IGNORE INTO t1 (f3) VALUES ( 'b' );
-INSERT IGNORE INTO t1 (f3) VALUES ( 'l' );
-SET DEBUG_SYNC="now SIGNAL con1_finish";
-connection default;
-disconnect con1;
-SET DEBUG_SYNC=RESET;
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff b/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
index f442e406..cf72c37b 100644
--- a/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
@@ -2,7 +2,7 @@
FROM information_schema.global_status
WHERE variable_name = 'innodb_instant_alter_column';
instants
--35
-+36
+-37
++38
SET GLOBAL innodb_stats_persistent = @save_stats_persistent;
# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/instant_alter_debug.result b/mysql-test/suite/innodb/r/instant_alter_debug.result
index d6d49047..733a85aa 100644
--- a/mysql-test/suite/innodb/r/instant_alter_debug.result
+++ b/mysql-test/suite/innodb/r/instant_alter_debug.result
@@ -477,10 +477,59 @@ SET DEBUG_SYNC="now WAIT_FOR try_insert";
INSERT INTO t1 VALUES(1, 2);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SET DEBUG_SYNC="now SIGNAL alter_progress";
-disconnect con1;
connection default;
DROP TABLE t1;
+#
+# MDEV-26198 Assertion `0' failed in row_log_table_apply_op during
+# ADD PRIMARY KEY or OPTIMIZE TABLE
+#
+CREATE TABLE t1(f1 year default null, f2 year default null,
+f3 text, f4 year default null, f5 year default null,
+f6 year default null, f7 year default null,
+f8 year default null)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, 1, 1, 1, 1, 1, 1);
+ALTER TABLE t1 ADD COLUMN f9 year default null, ALGORITHM=INPLACE;
+set DEBUG_SYNC="row_log_table_apply1_before SIGNAL con1_insert WAIT_FOR con1_finish";
+ALTER TABLE t1 ADD COLUMN f10 YEAR DEFAULT NULL, FORCE, ALGORITHM=INPLACE;
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR con1_insert";
+INSERT IGNORE INTO t1 (f3) VALUES ( 'b' );
+INSERT IGNORE INTO t1 (f3) VALUES ( 'l' );
+SET DEBUG_SYNC="now SIGNAL con1_finish";
+connection default;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+#
+# MDEV-19044 Alter table corrupts while applying the
+# modification log
+#
+CREATE TABLE t1 (
+f1 INT,
+f2 INT,
+f3 char(19) CHARACTER SET utf8mb3,
+f4 VARCHAR(500),
+f5 TEXT)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(3, 1, REPEAT('a', 2), REPEAT("b", 20),'a');
+ALTER TABLE t1 ADD COLUMN f6 INT NOT NULL, ALGORITHM=INSTANT;
+INSERT INTO t1 VALUES(1, 2, REPEAT('InnoDB', 2),
+REPEAT("MariaDB", 20), REPEAT('a', 8000), 12);
+INSERT INTO t1 VALUES(1, 2, REPEAT('MYSQL', 2),
+REPEAT("MariaDB", 20), REPEAT('a', 8000), 12);
+SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL con1_begin WAIT_FOR con1_update';
+ALTER TABLE t1 MODIFY COLUMN f2 INT NOT NULL, FORCE, ALGORITHM=INPLACE;
+connection con1;
+SET DEBUG_SYNC='now WAIT_FOR con1_begin';
+UPDATE t1 SET f2=204 order by f1 limit 2;
+SET DEBUG_SYNC='now SIGNAL con1_update';
+connection default;
+disconnect con1;
SET DEBUG_SYNC=reset;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
# End of 10.4 tests
#
# MDEV-22867 Assertion instant.n_core_fields == n_core_fields
@@ -525,6 +574,6 @@ SELECT variable_value-@old_instant instants
FROM information_schema.global_status
WHERE variable_name = 'innodb_instant_alter_column';
instants
-35
+37
SET GLOBAL innodb_stats_persistent = @save_stats_persistent;
# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/instant_alter_extend.result b/mysql-test/suite/innodb/r/instant_alter_extend.result
index 33a5f57c..c22043ec 100644
--- a/mysql-test/suite/innodb/r/instant_alter_extend.result
+++ b/mysql-test/suite/innodb/r/instant_alter_extend.result
Binary files differ
diff --git a/mysql-test/suite/innodb/r/instant_alter_import.result b/mysql-test/suite/innodb/r/instant_alter_import.result
index 3e7ee35f..6fe48fb6 100644
--- a/mysql-test/suite/innodb/r/instant_alter_import.result
+++ b/mysql-test/suite/innodb/r/instant_alter_import.result
@@ -64,6 +64,7 @@ alter table t1 discard tablespace;
flush tables t2 for export;
unlock tables;
alter table t1 import tablespace;
+# restart
select * from t1;
z
42
diff --git a/mysql-test/suite/innodb/r/lock_insert_into_empty.result b/mysql-test/suite/innodb/r/lock_insert_into_empty.result
index c1dea2fc..97369b58 100644
--- a/mysql-test/suite/innodb/r/lock_insert_into_empty.result
+++ b/mysql-test/suite/innodb/r/lock_insert_into_empty.result
@@ -47,6 +47,9 @@ CREATE TABLE t1 (k INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 SET k=1;
START TRANSACTION;
INSERT INTO t1 SET k=2;
+SELECT count(*) > 0 FROM mysql.innodb_index_stats lock in share mode;
+count(*) > 0
+1
connect con1,localhost,root,,test;
SET innodb_lock_wait_timeout=0;
CREATE TABLE t2 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
@@ -54,4 +57,6 @@ AS SELECT k FROM t1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con1;
connection default;
+SET innodb_lock_wait_timeout=default;
DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
diff --git a/mysql-test/suite/innodb/r/lock_isolation.result b/mysql-test/suite/innodb/r/lock_isolation.result
new file mode 100644
index 00000000..31843266
--- /dev/null
+++ b/mysql-test/suite/innodb/r/lock_isolation.result
@@ -0,0 +1,136 @@
+#
+# MDEV-26642 Weird SELECT view when a record is
+# modified to the same value by two transactions
+# MDEV-32898 Phantom rows caused by updates of PRIMARY KEY
+#
+CREATE TABLE t(a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t VALUES (1,1),(2,2);
+BEGIN;
+SELECT * FROM t LOCK IN SHARE MODE;
+a b
+1 1
+2 2
+connect con_weird,localhost,root;
+BEGIN;
+SELECT * FROM t;
+a b
+1 1
+2 2
+connect consistent,localhost,root;
+SET innodb_snapshot_isolation=ON;
+BEGIN;
+SELECT * FROM t;
+a b
+1 1
+2 2
+connection default;
+UPDATE t SET a=3 WHERE b=2;
+COMMIT;
+connection consistent;
+UPDATE t SET b=3;
+ERROR HY000: Record has changed since last read in table 't'
+SELECT * FROM t;
+a b
+1 1
+3 2
+COMMIT;
+connection con_weird;
+UPDATE t SET b=3;
+SELECT * FROM t;
+a b
+1 3
+2 2
+3 3
+COMMIT;
+connection default;
+SELECT * FROM t;
+a b
+1 3
+3 3
+DROP TABLE t;
+#
+# MDEV-26643 Inconsistent behaviors of UPDATE under
+# READ UNCOMMITTED and READ COMMITTED isolation level
+#
+CREATE TABLE t(a INT, b INT) ENGINE=InnoDB;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+BEGIN;
+UPDATE t SET a = 10;
+connection consistent;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UPDATE t SET b = 20 WHERE a;
+connection default;
+COMMIT;
+connection consistent;
+SELECT * FROM t;
+a b
+10 20
+10 20
+connection default;
+TRUNCATE TABLE t;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+BEGIN;
+UPDATE t SET a = 10;
+connection consistent;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+UPDATE t SET b = 20 WHERE a;
+connection default;
+COMMIT;
+connection consistent;
+SELECT * FROM t;
+a b
+10 20
+10 20
+connection default;
+TRUNCATE TABLE t;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+BEGIN;
+UPDATE t SET a = 10;
+connection con_weird;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UPDATE t SET b = 20 WHERE a;
+connection default;
+SELECT * FROM t;
+a b
+10 1
+10 2
+COMMIT;
+connection con_weird;
+COMMIT;
+connection default;
+SELECT * FROM t;
+a b
+10 1
+10 20
+DROP TABLE t;
+#
+# MDEV-33802 Weird read view after ROLLBACK of other transactions
+#
+CREATE TABLE t(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t SET a=1;
+BEGIN;
+INSERT INTO t SET a=2;
+connection consistent;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+ERROR HY000: Record has changed since last read in table 't'
+connection con_weird;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+connection default;
+ROLLBACK;
+connection con_weird;
+a b
+1 NULL
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+a b
+1 NULL
+disconnect con_weird;
+connection consistent;
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+a b
+1 NULL
+disconnect consistent;
+connection default;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/log_upgrade_101_flags.result b/mysql-test/suite/innodb/r/log_upgrade_101_flags.result
new file mode 100644
index 00000000..6ae7c848
--- /dev/null
+++ b/mysql-test/suite/innodb/r/log_upgrade_101_flags.result
@@ -0,0 +1,12 @@
+call mtr.add_suppression("InnoDB: The change buffer is corrupted");
+call mtr.add_suppression("InnoDB: Tablespace size stored in header is 768 pages, but the sum of data file sizes is 384 pages");
+call mtr.add_suppression("InnoDB: adjusting FSP_SPACE_FLAGS of file");
+# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/log_upgrade --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/log_upgrade --innodb-force-recovery=5 --innodb-log-file-size=4m --innodb_page_size=32k --innodb_buffer_pool_size=10M
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+COUNT(*)
+1
+FOUND 1 /InnoDB: Upgrading redo log:/ in mysqld.1.err
+# restart
+# End of 10.5 tests
diff --git a/mysql-test/suite/innodb/r/max_record_size,16k,compact,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,16k,compact.rdiff
index 118145be..118145be 100644
--- a/mysql-test/suite/innodb/r/max_record_size,16k,compact,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,16k,compact.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,16k,dynamic,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,16k,dynamic.rdiff
index 33067866..33067866 100644
--- a/mysql-test/suite/innodb/r/max_record_size,16k,dynamic,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,16k,dynamic.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,16k,innodb,redundant.rdiff b/mysql-test/suite/innodb/r/max_record_size,16k,redundant.rdiff
index e50e4d2b..e50e4d2b 100644
--- a/mysql-test/suite/innodb/r/max_record_size,16k,innodb,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,16k,redundant.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,32k,compact,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,32k,compact.rdiff
index 1bc03a5d..1bc03a5d 100644
--- a/mysql-test/suite/innodb/r/max_record_size,32k,compact,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,32k,compact.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,32k,dynamic,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,32k,dynamic.rdiff
index 71c4c2e4..71c4c2e4 100644
--- a/mysql-test/suite/innodb/r/max_record_size,32k,dynamic,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,32k,dynamic.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,32k,innodb,redundant.rdiff b/mysql-test/suite/innodb/r/max_record_size,32k,redundant.rdiff
index e42b3de8..e42b3de8 100644
--- a/mysql-test/suite/innodb/r/max_record_size,32k,innodb,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,32k,redundant.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,4k,compact,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,4k,compact.rdiff
index 6f08dab3..6f08dab3 100644
--- a/mysql-test/suite/innodb/r/max_record_size,4k,compact,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,4k,compact.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,4k,dynamic,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,4k,dynamic.rdiff
index bd37d435..bd37d435 100644
--- a/mysql-test/suite/innodb/r/max_record_size,4k,dynamic,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,4k,dynamic.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,4k,innodb,redundant.rdiff b/mysql-test/suite/innodb/r/max_record_size,4k,redundant.rdiff
index 93c39ff6..93c39ff6 100644
--- a/mysql-test/suite/innodb/r/max_record_size,4k,innodb,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,4k,redundant.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,64k,compact,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,64k,compact.rdiff
index 5e6c6221..5e6c6221 100644
--- a/mysql-test/suite/innodb/r/max_record_size,64k,compact,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,64k,compact.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,64k,dynamic,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,64k,dynamic.rdiff
index 2cbf4cd9..2cbf4cd9 100644
--- a/mysql-test/suite/innodb/r/max_record_size,64k,dynamic,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,64k,dynamic.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,64k,innodb,redundant.rdiff b/mysql-test/suite/innodb/r/max_record_size,64k,redundant.rdiff
index c324969f..c324969f 100644
--- a/mysql-test/suite/innodb/r/max_record_size,64k,innodb,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,64k,redundant.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,8k,compact,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,8k,compact.rdiff
index 4db669a8..4db669a8 100644
--- a/mysql-test/suite/innodb/r/max_record_size,8k,compact,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,8k,compact.rdiff
diff --git a/mysql-test/suite/innodb/r/max_record_size,8k,dynamic,innodb.rdiff b/mysql-test/suite/innodb/r/max_record_size,8k,dynamic.rdiff
index 5f79d77e..5f79d77e 100644
--- a/mysql-test/suite/innodb/r/max_record_size,8k,dynamic,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/max_record_size,8k,dynamic.rdiff
diff --git a/mysql-test/suite/innodb/r/monitor.result b/mysql-test/suite/innodb/r/monitor.result
index d99dd69e..1834032e 100644
--- a/mysql-test/suite/innodb/r/monitor.result
+++ b/mysql-test/suite/innodb/r/monitor.result
@@ -51,7 +51,6 @@ buffer_flush_n_to_flush_by_age disabled
buffer_flush_adaptive_avg_time disabled
buffer_flush_adaptive_avg_pass disabled
buffer_LRU_get_free_loops disabled
-buffer_LRU_get_free_waits disabled
buffer_flush_avg_page_rate disabled
buffer_flush_lsn_avg_rate disabled
buffer_flush_pct_for_dirty disabled
@@ -71,7 +70,6 @@ buffer_LRU_batch_num_scan disabled
buffer_LRU_batch_scanned_per_call disabled
buffer_LRU_batch_flush_total_pages enabled
buffer_LRU_batch_evict_total_pages enabled
-buffer_LRU_single_flush_failure_count disabled
buffer_LRU_get_free_search disabled
buffer_LRU_search_scanned disabled
buffer_LRU_search_num_scan disabled
@@ -198,6 +196,7 @@ icp_attempts disabled
icp_no_match disabled
icp_out_of_range disabled
icp_match disabled
+create temporary table orig_innodb_metrics as select name, enabled from information_schema.innodb_metrics;
set global innodb_monitor_disable = All;
select name from information_schema.innodb_metrics where enabled;
name
@@ -431,7 +430,7 @@ set global innodb_monitor_reset_all = default;
# MONITORS
#
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*1*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 0
@@ -439,13 +438,13 @@ SET GLOBAL innodb_monitor_enable='module_buffer_page';
INSERT INTO t1 VALUES (1), (2), (3), (4);
FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*2*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 1
SET GLOBAL innodb_monitor_disable='module_buffer_page';
SET GLOBAL innodb_monitor_reset_all='module_buffer_page';
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*3*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 0
@@ -455,13 +454,13 @@ ERROR 42000: Variable 'innodb_compression_algorithm' can't be set to the value o
INSERT INTO t1 VALUES (5), (6), (7), (8);
FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*4*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 1
SET GLOBAL innodb_monitor_disable='%';
SET GLOBAL innodb_monitor_reset_all='%';
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*5*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 0
@@ -469,7 +468,7 @@ SET GLOBAL innodb_monitor_enable='ALL';
INSERT INTO t1 VALUES (9), (10), (11), (12);
FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*6*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
buffer_page_written_index_leaf 1
@@ -599,6 +598,41 @@ DROP TABLE t1;
DROP TABLE fl2;
DROP TABLE fl1;
DROP TABLE fl0;
-SET GLOBAL innodb_monitor_enable=default;
-SET GLOBAL innodb_monitor_disable=default;
-SET GLOBAL innodb_monitor_reset_all=default;
+set global innodb_monitor_disable = 'adaptive\\_hash\\_p%';
+set global innodb_monitor_disable = 'adaptive\\_hash\\_r%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_batch\\_n%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_batch\\_s%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_g%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_s%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_u%';
+set global innodb_monitor_disable = 'buffer\\_f%';
+set global innodb_monitor_disable = 'buffer\\_page\\_%';
+set global innodb_monitor_disable = 'c%';
+set global innodb_monitor_disable = 'ddl%';
+set global innodb_monitor_disable = 'icp%';
+set global innodb_monitor_disable = 'index\\_p%';
+set global innodb_monitor_disable = 'innodb\\_di%';
+set global innodb_monitor_disable = 'innodb\\_l%';
+set global innodb_monitor_disable = 'innodb\\_m%';
+set global innodb_monitor_disable = 'lock\\_re%';
+set global innodb_monitor_disable = 'lock\\_ta%';
+set global innodb_monitor_disable = 'log%';
+set global innodb_monitor_disable = 'm%';
+set global innodb_monitor_disable = 'p%';
+set global innodb_monitor_disable = 't%';
+set global innodb_monitor_enable = 'log\\_w%';
+set global innodb_monitor_enable = 'trx_rseg_history_len';
+set global innodb_monitor_enable = 'trx_undo_slots_cached';
+set global innodb_monitor_enable=default;
+Warnings:
+Warning 1230 Default value is not defined for this set option. Please specify correct counter or module name.
+set global innodb_monitor_disable=default;
+Warnings:
+Warning 1230 Default value is not defined for this set option. Please specify correct counter or module name.
+set global innodb_monitor_reset_all=default;
+Warnings:
+Warning 1230 Default value is not defined for this set option. Please specify correct counter or module name.
+select name, orig.enabled, new.enabled from
+orig_innodb_metrics orig join information_schema.innodb_metrics new using(name)
+where orig.enabled != new.enabled;
+name enabled enabled
diff --git a/mysql-test/suite/innodb/r/rename_table.result b/mysql-test/suite/innodb/r/rename_table.result
index 0ed56005..a3bf5910 100644
--- a/mysql-test/suite/innodb/r/rename_table.result
+++ b/mysql-test/suite/innodb/r/rename_table.result
@@ -21,11 +21,17 @@ path
DROP DATABASE abc_def;
# restart
DROP DATABASE abc_def2;
-call mtr.add_suppression("InnoDB: (Operating system error|Error number \\d+ means|Cannot rename file)");
+call mtr.add_suppression("InnoDB: Cannot rename '.*t1.ibd' to '.*non_existing_db.*' because the target schema directory doesn't exist");
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(100);
RENAME TABLE t1 TO non_existing_db.t1;
ERROR HY000: Error on rename of './test/t1' to './non_existing_db/t1' (errno: 168 "Unknown (generic) error from engine")
-FOUND 1 /\[ERROR\] InnoDB: Cannot rename file '.*t1\.ibd' to '.*non_existing_db/ in mysqld.1.err
+FOUND 1 /\[ERROR\] InnoDB: Cannot rename '.*t1\.ibd' to '.*non_existing_db/ in mysqld.1.err
+SET GLOBAL innodb_fast_shutdown=2;
+# restart
+SELECT * FROM t1;
+a
+100
DROP TABLE t1;
#
# MDEV-25509 Atomic DDL: Assertion `err != DB_DUPLICATE_KEY'
diff --git a/mysql-test/suite/innodb/r/restart,16k,innodb.rdiff b/mysql-test/suite/innodb/r/restart,16k.rdiff
index b36ed067..b36ed067 100644
--- a/mysql-test/suite/innodb/r/restart,16k,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/restart,16k.rdiff
diff --git a/mysql-test/suite/innodb/r/restart,32k,innodb.rdiff b/mysql-test/suite/innodb/r/restart,32k.rdiff
index 8fa05781..8fa05781 100644
--- a/mysql-test/suite/innodb/r/restart,32k,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/restart,32k.rdiff
diff --git a/mysql-test/suite/innodb/r/restart,4k,innodb.rdiff b/mysql-test/suite/innodb/r/restart,4k.rdiff
index 7d084636..7d084636 100644
--- a/mysql-test/suite/innodb/r/restart,4k,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/restart,4k.rdiff
diff --git a/mysql-test/suite/innodb/r/restart,64k,innodb.rdiff b/mysql-test/suite/innodb/r/restart,64k.rdiff
index 3ac9f45b..3ac9f45b 100644
--- a/mysql-test/suite/innodb/r/restart,64k,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/restart,64k.rdiff
diff --git a/mysql-test/suite/innodb/r/restart,8k,innodb.rdiff b/mysql-test/suite/innodb/r/restart,8k.rdiff
index 4da55ebf..4da55ebf 100644
--- a/mysql-test/suite/innodb/r/restart,8k,innodb.rdiff
+++ b/mysql-test/suite/innodb/r/restart,8k.rdiff
diff --git a/mysql-test/suite/innodb/r/row_size_error_log_warnings_3,4k.rdiff b/mysql-test/suite/innodb/r/row_size_error_log_warnings_3,4k.rdiff
new file mode 100644
index 00000000..812632ac
--- /dev/null
+++ b/mysql-test/suite/innodb/r/row_size_error_log_warnings_3,4k.rdiff
@@ -0,0 +1,2 @@
+91a92
+> ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
diff --git a/mysql-test/suite/innodb/r/row_size_error_log_warnings_3.result b/mysql-test/suite/innodb/r/row_size_error_log_warnings_3.result
index 21085e4c..1fde89ac 100644
--- a/mysql-test/suite/innodb/r/row_size_error_log_warnings_3.result
+++ b/mysql-test/suite/innodb/r/row_size_error_log_warnings_3.result
@@ -82,3 +82,11 @@ f29(10), f30(10), f31(10), f32(10),
f33(10)))
ENGINE=InnoDB;
ERROR 42000: Too many key parts specified; max 32 parts allowed
+#
+# MDEV-31161 Assertion failures upon adding a too long key
+# to table with COMPRESSED row format
+#
+CREATE TABLE t1(pk INT PRIMARY KEY, f1 INT, f2 TEXT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+INSERT INTO t1 (pk) VALUES (1);
+ALTER TABLE t1 ADD KEY (f1), ADD KEY (f2(1000));
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/undo_space_dblwr.result b/mysql-test/suite/innodb/r/undo_space_dblwr.result
index d6822b20..4466df98 100644
--- a/mysql-test/suite/innodb/r/undo_space_dblwr.result
+++ b/mysql-test/suite/innodb/r/undo_space_dblwr.result
@@ -4,15 +4,14 @@ Variable_name Value
innodb_doublewrite ON
create table t1(f1 int not null, f2 int not null)engine=innodb;
insert into t1 values (1, 1);
-InnoDB 0 transactions not purged
-set GLOBAL innodb_log_checkpoint_now=1;
+SET GLOBAL innodb_fast_shutdown = 0;
+# restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0
# Make the first page dirty for undo tablespace
set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = 1;
-SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
-SET GLOBAL innodb_max_dirty_pages_pct=0.0;
+SET GLOBAL innodb_buf_flush_list_now = 1;
# Kill the server
-# restart
+# restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0
FOUND 1 /Checksum mismatch in the first page of file/ in mysqld.1.err
check table t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/innodb/r/undo_truncate.result b/mysql-test/suite/innodb/r/undo_truncate.result
index f90bef94..6d77baa9 100644
--- a/mysql-test/suite/innodb/r/undo_truncate.result
+++ b/mysql-test/suite/innodb/r/undo_truncate.result
@@ -27,6 +27,7 @@ delete from t1;
connection con2;
delete from t2;
connection con1;
+SET GLOBAL innodb_max_undo_log_size = @@GLOBAL.innodb_page_size * 4294967296;
SET GLOBAL innodb_undo_log_truncate = 1;
commit;
disconnect con1;
@@ -35,6 +36,8 @@ commit;
disconnect con2;
connection default;
SET GLOBAL innodb_max_purge_lag_wait=0;
+SET GLOBAL innodb_max_undo_log_size=DEFAULT;
+SET GLOBAL innodb_max_purge_lag_wait=0;
set global innodb_fast_shutdown=0;
# restart
drop table t1, t2;
diff --git a/mysql-test/suite/innodb/t/alter_copy.test b/mysql-test/suite/innodb/t/alter_copy.test
index b62f812f..90f2171d 100644
--- a/mysql-test/suite/innodb/t/alter_copy.test
+++ b/mysql-test/suite/innodb/t/alter_copy.test
@@ -57,7 +57,7 @@ ALTER TABLE t ADD INDEX(b,c,d,a),ADD INDEX(b,c,a,d),ADD INDEX(b,a,c,d),ADD INDEX
connection default;
SET DEBUG_SYNC='now WAIT_FOR hung';
let $shutdown_timeout=0;
---let $restart_parameters= --innodb-force-recovery=3 --debug_dbug="+d,recv_ran_out_of_buffer"
+--let $restart_parameters= --innodb-force-recovery=3
--source include/restart_mysqld.inc
disconnect hang;
let $shutdown_timeout=;
diff --git a/mysql-test/suite/innodb/t/alter_crash.test b/mysql-test/suite/innodb/t/alter_crash.test
index 164ff877..f56dcf2c 100644
--- a/mysql-test/suite/innodb/t/alter_crash.test
+++ b/mysql-test/suite/innodb/t/alter_crash.test
@@ -70,7 +70,7 @@ let $orig_table_id = `SELECT table_id
WHERE name = 'test/t1'`;
# Write file to make mysql-test-run.pl expect crash
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--error 2013
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
@@ -110,7 +110,7 @@ let $orig_table_id = `SELECT table_id
WHERE name = 'test/t2'`;
# Write file to make mysql-test-run.pl expect crash
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--error 2013
ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
@@ -150,7 +150,7 @@ let $orig_table_id = `select table_id from
information_schema.innodb_sys_tables where name = 'test/t1'`;
# Write file to make mysql-test-run.pl expect crash
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
#
--error 2013
ALTER TABLE t1 ADD INDEX (b), CHANGE c d int, ALGORITHM=INPLACE;
diff --git a/mysql-test/suite/innodb/t/alter_kill.test b/mysql-test/suite/innodb/t/alter_kill.test
index 7d83e7e3..100beb76 100644
--- a/mysql-test/suite/innodb/t/alter_kill.test
+++ b/mysql-test/suite/innodb/t/alter_kill.test
@@ -76,7 +76,7 @@ EOF
-- source include/start_mysqld.inc
---error ER_NO_SUCH_TABLE_IN_ENGINE
+--error ER_TABLE_CORRUPT
SELECT COUNT(*) FROM bug16720368;
--error ER_TABLE_CORRUPT
INSERT INTO bug16720368 VALUES(1);
diff --git a/mysql-test/suite/innodb/t/alter_rename_existing.test b/mysql-test/suite/innodb/t/alter_rename_existing.test
index 556d8e66..f09456e7 100644
--- a/mysql-test/suite/innodb/t/alter_rename_existing.test
+++ b/mysql-test/suite/innodb/t/alter_rename_existing.test
@@ -18,7 +18,7 @@ INSERT INTO t1(b) VALUES('one'), ('two'), ('three');
--echo #
--echo # Create a file called MYSQLD_DATADIR/test/t1.ibd
---exec echo "This is not t1.ibd" > $MYSQLD_DATADIR/test/t1.ibd
+--write_line "This is not t1.ibd" $MYSQLD_DATADIR/test/t1.ibd
--echo # Directory listing of test/*.ibd
--echo #
diff --git a/mysql-test/suite/innodb/t/autoinc_debug.test b/mysql-test/suite/innodb/t/autoinc_debug.test
index 7722b848..d38a70b3 100644
--- a/mysql-test/suite/innodb/t/autoinc_debug.test
+++ b/mysql-test/suite/innodb/t/autoinc_debug.test
@@ -92,3 +92,69 @@ SELECT * FROM t1;
SHOW CREATE TABLE t1;
DROP TABLE t1;
SET DEBUG_SYNC='RESET';
+
+--echo #
+--echo # MDEV-33593: Auto increment deadlock error causes ASSERT in subsequent save point
+--echo #
+
+CREATE TABLE t1(col1 INT PRIMARY KEY AUTO_INCREMENT, col2 INT) ENGINE=InnoDB;
+CREATE TABLE t2(col1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1(col2) values(100);
+
+--connect(con1, localhost, root,,)
+START TRANSACTION;
+--echo # T1: Acquiring Row X lock on table t2
+INSERT INTO t2 values(100);
+
+--connect(con2, localhost, root,,)
+START TRANSACTION;
+--echo # T2: Wait for (T1) row lock on t2 after acquiring GAP Lock on t1
+UPDATE t1 SET col2 = 20 where col1 = 10;
+SET DEBUG_SYNC='lock_wait_before_suspend SIGNAL t2_waiting';
+--send INSERT INTO t2 values(100)
+
+--connection default
+SET DEBUG_SYNC='now WAIT_FOR t2_waiting';
+--echo # T3: Wait for (T2) II row Lock on t1 after acquiring Auto Increment Lock on t1
+SET DEBUG_SYNC='lock_wait_before_suspend SIGNAL t3_waiting';
+--send INSERT INTO t1(col2) SELECT col2 from t1
+
+--connection con1
+SAVEPOINT s1;
+SET DEBUG_SYNC='now WAIT_FOR t3_waiting';
+--echo # T1: Wait for (T3) auto increment lock on t1 causing T1 -> T3 -> T2 -> T1 deadlock
+SET debug_dbug = '+d,innodb_deadlock_victim_self';
+--error ER_AUTOINC_READ_FAILED
+INSERT INTO t1(col2) VALUES(200);
+
+--echo # The transaction should have been rolled back
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+--echo # Release the previous savepoint using the same name
+SAVEPOINT s1;
+COMMIT;
+
+--connection con2
+--reap
+COMMIT;
+
+--connection default
+--reap
+COMMIT;
+
+--disconnect con1
+--disconnect con2
+
+--echo # Cleanup
+SELECT * FROM t1;
+DROP TABLE t1;
+
+SELECT * FROM t2;
+DROP TABLE t2;
+
+SET DEBUG_SYNC='RESET';
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
diff --git a/mysql-test/suite/innodb/t/autoinc_import.test b/mysql-test/suite/innodb/t/autoinc_import.test
new file mode 100644
index 00000000..e137413d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/autoinc_import.test
@@ -0,0 +1,168 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(42);
+CREATE TABLE t1b LIKE t1;
+INSERT INTO t1b VALUES(3);
+CREATE TABLE t1z LIKE t1;
+CREATE TABLE t1t (id TINYINT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t0t LIKE t1t;
+INSERT INTO t1t VALUES(123);
+--let DATADIR=`select @@datadir`
+--let PAGE_SIZE=`select @@innodb_page_size`
+FLUSH TABLES t1,t1b,t1t FOR EXPORT;
+--copy_file $DATADIR/test/t1.ibd $DATADIR/test/t.ibd
+--copy_file $DATADIR/test/t1.ibd $DATADIR/test/tz.ibd
+--copy_file $DATADIR/test/t1b.ibd $DATADIR/test/tb.ibd
+--copy_file $DATADIR/test/t1t.ibd $DATADIR/test/tt.ibd
+UNLOCK TABLES;
+CREATE TABLE t5_7 LIKE t1;
+CREATE TABLE t5_7b LIKE t1b;
+CREATE TABLE t10_1 LIKE t1;
+CREATE TABLE t10_1b LIKE t1b;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1b DISCARD TABLESPACE;
+ALTER TABLE t1z DISCARD TABLESPACE;
+ALTER TABLE t1t DISCARD TABLESPACE;
+ALTER TABLE t0t DISCARD TABLESPACE;
+ALTER TABLE t5_7 DISCARD TABLESPACE;
+ALTER TABLE t5_7b DISCARD TABLESPACE;
+ALTER TABLE t10_1 DISCARD TABLESPACE;
+ALTER TABLE t10_1b DISCARD TABLESPACE;
+FLUSH TABLES;
+
+# Update the PAGE_ROOT_AUTO_INC field of a few files.
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/crc32.pl";
+sub update_autoinc
+{
+ my ($file, $value) = @_;
+ open(FILE, "+<$file") || die "Unable to open $file";
+ binmode FILE;
+ my $ps= $ENV{PAGE_SIZE};
+ my $page;
+ die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+ my $full_crc32 = unpack("N",substr($page,54,4)) & 0x10; # FIL_SPACE_FLAGS
+ sysseek(FILE, 3*$ps, 0) || die "Unable to seek $file\n";
+ die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+ substr($page,56,8)=pack("NN",0,$value);
+ my $polynomial = 0x82f63b78; # CRC-32C
+ if ($full_crc32) {
+ my $ck = mycrc32(substr($page, 0, $ps-4), 0, $polynomial);
+ substr($page, $ps-4, 4) = pack("N", $ck);
+ }
+ else
+ {
+ my $ck= pack("N",mycrc32(substr($page, 4, 22), 0, $polynomial) ^
+ mycrc32(substr($page, 38, $ps - 38 - 8), 0, $polynomial));
+ substr($page,0,4)=$ck;
+ substr($page,$ps-8,4)=$ck;
+ }
+ sysseek(FILE, 3*$ps, 0) || die "Unable to rewind $file\n";
+ syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
+ close(FILE) || die "Unable to close $file";
+}
+update_autoinc("$ENV{DATADIR}/test/tz.ibd", 0);
+update_autoinc("$ENV{DATADIR}/test/t.ibd", 3);
+update_autoinc("$ENV{DATADIR}/test/tb.ibd", 346);
+update_autoinc("$ENV{DATADIR}/test/tt.ibd", 128);
+EOF
+
+--remove_file $DATADIR/test/t5_7.frm
+--remove_file $DATADIR/test/t5_7b.frm
+--copy_file $MYSQL_TEST_DIR/std_data/autoinc_import_57.frm $DATADIR/test/t5_7.frm
+--copy_file $MYSQL_TEST_DIR/std_data/autoinc_import_57.frm $DATADIR/test/t5_7b.frm
+--remove_file $DATADIR/test/t10_1.frm
+--remove_file $DATADIR/test/t10_1b.frm
+--copy_file $MYSQL_TEST_DIR/std_data/autoinc_import_101.frm $DATADIR/test/t10_1.frm
+--copy_file $MYSQL_TEST_DIR/std_data/autoinc_import_101.frm $DATADIR/test/t10_1b.frm
+--copy_file $DATADIR/test/t.ibd $DATADIR/test/t5_7.ibd
+--copy_file $DATADIR/test/tb.ibd $DATADIR/test/t5_7b.ibd
+--copy_file $DATADIR/test/t.ibd $DATADIR/test/t10_1.ibd
+--copy_file $DATADIR/test/tb.ibd $DATADIR/test/t10_1b.ibd
+--move_file $DATADIR/test/t.ibd $DATADIR/test/t1.ibd
+--move_file $DATADIR/test/tb.ibd $DATADIR/test/t1b.ibd
+--copy_file $DATADIR/test/tt.ibd $DATADIR/test/t0t.ibd
+--move_file $DATADIR/test/tt.ibd $DATADIR/test/t1t.ibd
+--move_file $DATADIR/test/tz.ibd $DATADIR/test/t1z.ibd
+
+ALTER TABLE t0t IMPORT TABLESPACE;
+INSERT INTO t0t VALUES(NULL);
+SELECT * FROM t0t;
+DROP TABLE t0t;
+ALTER TABLE t1 IMPORT TABLESPACE;
+ALTER TABLE t1b IMPORT TABLESPACE;
+ALTER TABLE t1z IMPORT TABLESPACE;
+ALTER TABLE t1t IMPORT TABLESPACE;
+ALTER TABLE t5_7 IMPORT TABLESPACE;
+ALTER TABLE t5_7b IMPORT TABLESPACE;
+ALTER TABLE t10_1 IMPORT TABLESPACE;
+ALTER TABLE t10_1b IMPORT TABLESPACE;
+
+--let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC from 128 to 123 on table `test`\.`t0t`
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC from 0 to 42 on table `test`\.`t1z`
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC from 128 to 123 on table `test`\.`t1t`
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC from 3 to 42 on table `test`\.`t5_7` \(created with version 50744\)
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC from 3 to 42 on table `test`\.`t10_1` \(created with version 100149\)
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Resetting PAGE_ROOT_AUTO_INC
+--source include/search_pattern_in_file.inc
+
+# Restart, so that the InnoDB tables will be loaded into the data dictionary.
+--let $restart_parameters=--read-only
+--source include/restart_mysqld.inc
+
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+
+--let $restart_parameters=--innodb-read-only --read-only
+--source include/restart_mysqld.inc
+
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+
+--let $restart_parameters=--innodb-read-only
+--source include/restart_mysqld.inc
+
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t1b;
+SELECT COUNT(*) FROM t1t;
+SELECT COUNT(*) FROM t1z;
+SELECT COUNT(*) FROM t5_7;
+SELECT COUNT(*) FROM t5_7b;
+SELECT COUNT(*) FROM t10_1;
+SELECT COUNT(*) FROM t10_1b;
+
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+
+INSERT INTO t1 VALUES(NULL);
+INSERT INTO t1b VALUES(NULL);
+INSERT INTO t1t VALUES(NULL);
+INSERT INTO t1z VALUES(NULL);
+INSERT INTO t5_7 VALUES(NULL);
+INSERT INTO t5_7b VALUES(NULL);
+INSERT INTO t10_1 VALUES(NULL);
+INSERT INTO t10_1b VALUES(NULL);
+
+CHECK TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b FOR UPGRADE;
+
+SELECT * FROM t1;
+SELECT * FROM t1b;
+SELECT * FROM t1t;
+SELECT * FROM t1z;
+SELECT * FROM t5_7;
+SELECT * FROM t5_7b;
+SELECT * FROM t10_1;
+SELECT * FROM t10_1b;
+DROP TABLE t1, t1b, t1t, t1z, t5_7, t5_7b, t10_1, t10_1b;
diff --git a/mysql-test/suite/innodb/t/corrupted_during_recovery.test b/mysql-test/suite/innodb/t/corrupted_during_recovery.test
index 1f410246..83240549 100644
--- a/mysql-test/suite/innodb/t/corrupted_during_recovery.test
+++ b/mysql-test/suite/innodb/t/corrupted_during_recovery.test
@@ -7,7 +7,7 @@ call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE faile
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t1\\.ibd' page");
call mtr.add_suppression("InnoDB: Failed to read page 3 from file '.*test.t1\\.ibd': Page read from tablespace is corrupted.");
call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page .*, page number=3\\]");
-call mtr.add_suppression("Table test/t1 is corrupted. Please drop the table and recreate\\.");
+call mtr.add_suppression("Table `test`.`t1` is corrupted. Please drop the table and recreate.");
call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted");
call mtr.add_suppression("InnoDB: A long wait .* was observed for dict_sys");
--enable_query_log
diff --git a/mysql-test/suite/innodb/t/cursor-restore-unique-null.test b/mysql-test/suite/innodb/t/cursor-restore-unique-null.test
new file mode 100644
index 00000000..409694d6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/cursor-restore-unique-null.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/count_sessions.inc
+
+
+CREATE TABLE t(a INT PRIMARY KEY, b INT, c INT, UNIQUE KEY `b_c` (`b`,`c`))
+ ENGINE=InnoDB, STATS_PERSISTENT=0;
+INSERT INTO t SET a = 1, c = 2;
+
+--connect con1,localhost,root
+BEGIN;
+ INSERT INTO t SET a=2, c=2;
+
+--connection default
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL select_locked";
+--send SELECT * FROM t FORCE INDEX(b) FOR UPDATE
+
+--connection con1
+SET DEBUG_SYNC="now WAIT_FOR select_locked";
+ROLLBACK;
+
+--connection default
+--echo # If the bug is not fixed, and the both unique index key fields are
+--echo # NULL, there will be two (1, NULL, 2) rows in the result,
+--echo # because cursor will be restored to (NULL, 2, 1) position for
+--echo # secondary key instead of "supremum".
+--reap
+COMMIT;
+
+SET DEBUG_SYNC="RESET";
+
+--disconnect con1
+DROP TABLE t;
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/doublewrite_debug.test b/mysql-test/suite/innodb/t/doublewrite_debug.test
index ab7fd8eb..b8dcd506 100644
--- a/mysql-test/suite/innodb/t/doublewrite_debug.test
+++ b/mysql-test/suite/innodb/t/doublewrite_debug.test
@@ -45,7 +45,7 @@ commit work;
# Slow shutdown and restart to make sure ibuf merge is finished
SET GLOBAL innodb_fast_shutdown = 0;
let $shutdown_timeout=;
-let $restart_parameters="--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0";
+let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
--source include/restart_mysqld.inc
--source ../include/no_checkpoint_start.inc
begin;
@@ -95,7 +95,7 @@ select f1, f2 from t1;
--echo # Test Begin: Test if recovery works if 1st page of
--echo # system tablespace is corrupted and 2nd page as corrupted.
-let $restart_parameters="--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0";
+let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
--source include/restart_mysqld.inc
--source ../include/no_checkpoint_start.inc
begin;
diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test
index 0db3a7ca..e793e261 100644
--- a/mysql-test/suite/innodb/t/foreign_key.test
+++ b/mysql-test/suite/innodb/t/foreign_key.test
@@ -1077,10 +1077,23 @@ BEGIN;
--error ER_NO_REFERENCED_ROW_2
INSERT INTO child SET a=1;
connection default;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE parent;
+--error ER_ROW_IS_REFERENCED_2
+DROP TABLE parent;
+SET innodb_lock_wait_timeout=0;
+--error ER_LOCK_WAIT_TIMEOUT
+RENAME TABLE parent TO transparent;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
SET innodb_lock_wait_timeout=0, foreign_key_checks=0;
--error ER_LOCK_WAIT_TIMEOUT
TRUNCATE TABLE parent;
--error ER_LOCK_WAIT_TIMEOUT
+DROP TABLE parent;
+--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE parent FORCE, ALGORITHM=COPY;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
@@ -1095,7 +1108,13 @@ TRUNCATE TABLE parent;
ALTER TABLE parent FORCE, ALGORITHM=COPY;
ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
-DROP TABLE child, parent;
+SET foreign_key_checks=ON;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE parent;
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+RENAME TABLE parent TO transparent;
+DROP TABLE child, transparent;
--echo #
--echo # MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove
diff --git a/mysql-test/suite/innodb/t/full_crc32_import.test b/mysql-test/suite/innodb/t/full_crc32_import.test
index 0eb31f8d..6f02b2ab 100644
--- a/mysql-test/suite/innodb/t/full_crc32_import.test
+++ b/mysql-test/suite/innodb/t/full_crc32_import.test
@@ -63,6 +63,12 @@ ALTER TABLE t1 DROP INDEX b;
ALTER TABLE t1 IMPORT TABLESPACE;
--enable_warnings
SHOW CREATE TABLE t1;
+
+--echo # Auto increment value must be more than maximum column value
+SELECT MAX(a) FROM t1;
+SELECT auto_increment FROM information_schema.tables
+WHERE table_name like 't1';
+
UPDATE t1 set b = repeat("de", 100) where b = repeat("cd", 200);
--replace_column 9 #
explain SELECT a FROM t1 where b = repeat("de", 100);
@@ -145,6 +151,12 @@ ALTER TABLE t1 DROP INDEX idx1;
ALTER TABLE t1 IMPORT TABLESPACE;
--disable_warnings
SHOW CREATE TABLE t1;
+
+--echo # Auto increment value must be more than maximum column value
+SELECT MAX(c1) FROM t1;
+SELECT auto_increment FROM information_schema.tables
+WHERE table_name like 't1';
+
UPDATE t1 SET C2 = ST_GeomFromText('POINT(0 0)');
SELECT COUNT(*) FROM t1;
DELETE FROM t1;
diff --git a/mysql-test/suite/innodb/t/group_commit_crash.test b/mysql-test/suite/innodb/t/group_commit_crash.test
index 12f7ba20..b0ed854f 100644
--- a/mysql-test/suite/innodb/t/group_commit_crash.test
+++ b/mysql-test/suite/innodb/t/group_commit_crash.test
@@ -51,7 +51,7 @@ while ($numtests)
START TRANSACTION;
insert into t1 select * from t2;
# Write file to make mysql-test-run.pl expect crash
- --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
eval call setcrash($numtests);
diff --git a/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test b/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test
index 6115e3f0..9b7de7ce 100644
--- a/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test
+++ b/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test
@@ -51,7 +51,7 @@ while ($numtests)
START TRANSACTION;
insert into t1 select * from t2;
# Write file to make mysql-test-run.pl expect crash
- --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
eval call setcrash($numtests);
diff --git a/mysql-test/suite/innodb/t/import_bugs.test b/mysql-test/suite/innodb/t/import_bugs.test
index 7fcab9f9..d22b4b67 100644
--- a/mysql-test/suite/innodb/t/import_bugs.test
+++ b/mysql-test/suite/innodb/t/import_bugs.test
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
+--source include/have_sequence.inc
call mtr.add_suppression("Index for table 'imp_t1' is corrupt; try to repair it");
@@ -23,6 +24,67 @@ DROP TABLE imp_t1, t1;
SET GLOBAL innodb_checksum_algorithm=@save_innodb_checksum_algorithm;
--echo #
+--echo # MDEV-33400 Adaptive hash index corruption after DISCARD TABLESPACE
+--echo #
+
+SET @save_adaptive=@@GLOBAL.innodb_adaptive_hash_index;
+SET GLOBAL innodb_adaptive_hash_index=ON;
+
+CREATE TABLE t (a INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t SELECT * FROM seq_1_to_131;
+ALTER TABLE t ADD hid INT DEFAULT 2;
+INSERT INTO t VALUES (251,1);
+ALTER TABLE t DISCARD TABLESPACE;
+CHECK TABLE mysql.innodb_table_stats;
+DROP TABLE t;
+SET GLOBAL innodb_adaptive_hash_index=@save_adaptive;
+
+--echo # End of 10.4 tests
+
+--echo #
+--echo # MDEV-18288: Transportable Tablespaces leave AUTO_INCREMENT in mismatched
+--echo # state, causing INSERT errors in newly imported tables when .cfg is not used.
+--echo #
+
+CREATE TABLE t1(
+ id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (id)
+) ENGINE=INNODB;
+
+CREATE TABLE t2 LIKE t1;
+
+ALTER TABLE t2 DISCARD TABLESPACE;
+
+INSERT INTO t1() VALUES();
+INSERT INTO t1() VALUES();
+
+FLUSH TABLES test.t1 FOR EXPORT;
+
+--echo # Copy data file
+--copy_file $datadir/test/t1.ibd $datadir/test/t2.ibd
+
+--echo # Skip CFG file copy
+#--copy_file $datadir/test/t1.cfg $datadir/test/t2.cfg
+--remove_file $datadir/test/t1.cfg
+
+UNLOCK TABLES;
+DROP TABLE t1;
+
+--replace_regex /opening '.*\/test\//opening '.\/test\//
+ALTER TABLE t2 IMPORT TABLESPACE;
+
+SELECT * FROM t2 ORDER BY id;
+
+INSERT INTO t2() VALUES();
+INSERT INTO t2() VALUES();
+INSERT INTO t2() VALUES();
+
+SELECT * FROM t2 ORDER BY id;
+DROP TABLE t2;
+
+--echo # End of 10.5 tests
+
+--echo #
--echo # MDEV-27006 Assertion `!lock_trx_has_sys_table_locks(trx)'
--echo # failed in dberr_t row_discard_tablespace_for_mysql
--echo # (dict_table_t*, trx_t*)
diff --git a/mysql-test/suite/innodb/t/import_hidden_fts.test b/mysql-test/suite/innodb/t/import_hidden_fts.test
new file mode 100644
index 00000000..4129e258
--- /dev/null
+++ b/mysql-test/suite/innodb/t/import_hidden_fts.test
@@ -0,0 +1,46 @@
+--source include/have_innodb.inc
+--source include/have_sequence.inc
+# Table with virtual, fulltext, instant add, instant drop column
+# and purgeable rows
+call mtr.add_suppression("InnoDB: Added system generated FTS_DOC_ID and FTS_DOC_ID_INDEX while importing the tablespace");
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) not null, fulltext f_idx(f2),
+ f3 INT as (f1) VIRTUAL, INDEX(f3),
+ f4 INT as (f1) STORED, INDEX(f4),
+ f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
+INSERT INTO t1(f1, f2) VALUES(1, "on");
+INSERT INTO t1(f1, f2) SELECT seq, "si" FROM seq_2_to_256;
+ALTER TABLE t1 ADD COLUMN f6 INT NOT NULL;
+ALTER TABLE t1 DROP COLUMN f6;
+ALTER TABLE t1 DROP INDEX f_idx;
+connect(con1,localhost,root,,);
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+
+connection default;
+DELETE FROM t1 WHERE f1 > 1;
+FLUSH TABLE t1 FOR EXPORT;
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) not null,
+ f3 INT as (f1) VIRTUAL, INDEX(f3),
+ f4 INT as (f1) STORED, INDEX(f4),
+ f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--disable_warnings
+ALTER TABLE t1 IMPORT TABLESPACE;
+--enable_warnings
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/import_hidden_fts_debug.test b/mysql-test/suite/innodb/t/import_hidden_fts_debug.test
new file mode 100644
index 00000000..e3d8680d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/import_hidden_fts_debug.test
@@ -0,0 +1,101 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) NOT NULL, FULLTEXT f_idx(f2),
+ f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
+INSERT INTO t1(f1, f2) VALUES(1, "on");
+ALTER TABLE t1 DROP INDEX f_idx;
+FLUSH TABLE t1 FOR EXPORT;
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) NOT NULL,
+ f3 CHAR(2) NOT NULL,
+ f4 INT AS (f1) VIRTUAL, INDEX(f4))ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+--error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) NOT NULL,
+ f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--disable_warnings
+SET DEBUG_DBUG="+d,ib_import_set_index_root_failure";
+--error ER_TOO_MANY_CONCURRENT_TRXS
+ALTER TABLE t1 IMPORT TABLESPACE;
+SET DEBUG_DBUG="-d,ib_import_set_index_root_failure";
+
+SET DEBUG_DBUG="+d,ib_import_vcol_update_fail";
+--error ER_DUP_KEY
+ALTER TABLE t1 IMPORT TABLESPACE;
+SET DEBUG_DBUG="-d,ib_import_vcol_update_fail";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+SET DEBUG_DBUG="+d,ib_import_fts_error";
+--error ER_DUP_KEY
+ALTER TABLE t1 IMPORT TABLESPACE;
+SET DEBUG_DBUG="-d,ib_import_fts_error";
+--enable_warnings
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
+WHERE table_id IN (SELECT table_id FROM information_schema.innodb_sys_tables where name="test/t1");
+
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# Manually add the FTS_DOC_ID Column with mismatched data type
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ FTS_DOC_ID BIGINT SIGNED NOT NULL,
+ f2 CHAR(2) NOT NULL,
+ FULLTEXT f_idx(f2))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, "on");
+ALTER TABLE t1 DROP INDEX f_idx;
+FLUSH TABLE t1 FOR EXPORT;
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
+ f2 CHAR(2) NOT NULL)ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+--error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/index_length.test b/mysql-test/suite/innodb/t/index_length.test
index bf4940d4..03e61a5a 100644
--- a/mysql-test/suite/innodb/t/index_length.test
+++ b/mysql-test/suite/innodb/t/index_length.test
@@ -20,4 +20,12 @@ WHERE table_schema = 'test' AND table_name = 't1';
disconnect stop_purge;
DROP TABLE t1;
+--echo #
+--echo # MDEV-22855 Assertion (!field->prefix_len ||
+--echo # field->fixed_len == field->prefix_len)
+--echo # failed in btr_node_ptr_max_size
+--echo #
+CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
+INSERT INTO t1 SET c='';
+DROP TABLE t1;
--echo # End of 10.4 tests
diff --git a/mysql-test/suite/innodb/t/index_merge_threshold.test b/mysql-test/suite/innodb/t/index_merge_threshold.test
index cb8e117d..acadf4f0 100644
--- a/mysql-test/suite/innodb/t/index_merge_threshold.test
+++ b/mysql-test/suite/innodb/t/index_merge_threshold.test
@@ -10,6 +10,7 @@
#
# Check actual behavior for table, partitioned table and temporary table
# #############################################################
+--source include/have_innodb.inc
--source include/have_innodb_16k.inc
--source include/have_partition.inc
diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test
index c4a68ac7..6b94bfd2 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test
@@ -144,15 +144,14 @@ DROP TABLE t;
--echo #
create table t1(f1 int not null primary key,
-
- f2 int not null, index idx(f2))engine=innodb;
+ f2 int not null, index idx(f2), index i(f2,f1))engine=innodb;
insert into t1 values(1, 1);
connect(con1,localhost,root,,,);
SET DEBUG_SYNC='before_delete_table_stats SIGNAL blocked WAIT_FOR go';
-SET innodb_lock_wait_timeout=0;
-send ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+send SET STATEMENT innodb_lock_wait_timeout=0 FOR
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
connection default;
SET DEBUG_SYNC='now WAIT_FOR blocked';
@@ -167,6 +166,21 @@ connection default;
COMMIT;
SET DEBUG_SYNC=RESET;
+RENAME TABLE mysql.innodb_table_stats TO mysql.innodb_table_stats_hidden;
+connection con1;
+SET DEBUG_SYNC='innodb_commit_inplace_before_lock SIGNAL blocked WAIT_FOR go';
+send ALTER TABLE t1 DROP INDEX i;
+
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR blocked';
+RENAME TABLE mysql.innodb_table_stats_hidden TO mysql.innodb_table_stats;
+SET DEBUG_SYNC='now SIGNAL go';
+
+connection con1;
+reap;
+connection default;
+SET DEBUG_SYNC=RESET;
+
connection con1;
ALTER TABLE t1 RENAME KEY idx TO idx1, ALGORITHM=COPY;
disconnect con1;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-tempfile.test b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
index 2534f03d..0b6cbabb 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
@@ -35,7 +35,7 @@ let datadir= `select @@datadir`;
CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
SET debug_dbug='+d,innodb_alter_commit_crash_before_commit';
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--error 2013
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
diff --git a/mysql-test/suite/innodb/t/innodb-corrupted-table.test b/mysql-test/suite/innodb/t/innodb-corrupted-table.test
index a064f08d..dcdaa618 100644
--- a/mysql-test/suite/innodb/t/innodb-corrupted-table.test
+++ b/mysql-test/suite/innodb/t/innodb-corrupted-table.test
@@ -23,14 +23,14 @@ alter table t1 add primary key (pk);
--echo # Stop the server, replace the frm with the old one and restart the server
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
--remove_file $datadir/test/t1.frm
--copy_file $MYSQLTEST_VARDIR/tmp/t1.frm $datadir/test/t1.frm
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test b/mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test
deleted file mode 100644
index d4f08b5a..00000000
--- a/mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test
+++ /dev/null
@@ -1,24 +0,0 @@
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/not_embedded.inc
-
-call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
-
-SET @saved_debug = @@SESSION.debug_dbug;
-SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
-
-CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB;
-BEGIN;
-INSERT INTO t1 VALUES (repeat('abcdefghijklmnopqrstuvwxyz',200));
-COMMIT;
-
-SET debug_dbug = @saved_debug;
-
-DROP TABLE t1;
-
-#
-# There should be only one message
-#
-let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
---let SEARCH_PATTERN=InnoDB: Difficult to find free blocks
---source include/search_pattern_in_file.inc
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
index e642a949..2d3b5b3f 100644
--- a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
@@ -43,7 +43,7 @@ INSERT INTO t1 VALUES(1),(2),(3);
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
---exec echo wait > $_expect_file_name
+--write_line wait $_expect_file_name
SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
--error 2013
ALTER TABLE t1 DISCARD TABLESPACE;
@@ -57,7 +57,7 @@ SET GLOBAL innodb_file_per_table = 1;
CREATE TABLE t1 (c1 INT) ENGINE = InnoDB;
INSERT INTO t1 VALUES(1),(2),(3);
---exec echo wait > $_expect_file_name
+--write_line wait $_expect_file_name
SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
--error 2013
ALTER TABLE t1 DISCARD TABLESPACE;
@@ -101,7 +101,7 @@ EOF
--error ER_TABLESPACE_DISCARDED
SELECT * FROM t1;
---exec echo wait > $_expect_file_name
+--write_line wait $_expect_file_name
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
--error 2013
ALTER TABLE t1 IMPORT TABLESPACE;
diff --git a/mysql-test/suite/innodb/t/innodb_bug60196.test b/mysql-test/suite/innodb/t/innodb_bug60196.test
index 7f1f5c40..41b9a4d8 100644
--- a/mysql-test/suite/innodb/t/innodb_bug60196.test
+++ b/mysql-test/suite/innodb/t/innodb_bug60196.test
@@ -58,7 +58,7 @@ SELECT * FROM bug_60196;
--echo # Restart server.
# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Turn on reconnect
--enable_reconnect
@@ -132,7 +132,7 @@ SELECT * FROM Bug_60309;
--echo # Restart server.
# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Turn on reconnect
--enable_reconnect
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats.test b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
index ef79d8d6..3730eb65 100644
--- a/mysql-test/suite/innodb/t/innodb_defrag_stats.test
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
@@ -35,7 +35,7 @@ SELECT @@GLOBAL.innodb_force_recovery<2 "have background defragmentation";
# Wait for defrag_pool to be processed.
let $wait_timeout=30;
-let $wait_condition = SELECT COUNT(*)>0 FROM mysql.innodb_index_stats;
+let $wait_condition = SELECT COUNT(*)>5 FROM mysql.innodb_index_stats;
--source include/wait_condition.inc
--sorted_result
diff --git a/mysql-test/suite/innodb/t/innodb_stats_fetch.test b/mysql-test/suite/innodb/t/innodb_stats_fetch.test
index 99fc115a..d02cd3b8 100644
--- a/mysql-test/suite/innodb/t/innodb_stats_fetch.test
+++ b/mysql-test/suite/innodb/t/innodb_stats_fetch.test
@@ -96,3 +96,11 @@ SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_VIRTUAL LIMIT ROWS EXAMINED 5;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN LIMIT ROWS EXAMINED 5;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS LIMIT ROWS EXAMINED 5;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-33462 Disallow LOCK=NONE operation on statistics table
+--echo #
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE mysql.innodb_table_stats FORCE, LOCK=NONE;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE mysql.innodb_index_stats FORCE, LOCK=NONE;
diff --git a/mysql-test/suite/innodb/t/innodb_timeout_rollback.test b/mysql-test/suite/innodb/t/innodb_timeout_rollback.test
index 44e8acdd..aa282352 100644
--- a/mysql-test/suite/innodb/t/innodb_timeout_rollback.test
+++ b/mysql-test/suite/innodb/t/innodb_timeout_rollback.test
@@ -1,4 +1,5 @@
+--source include/have_innodb.inc
--source include/innodb_rollback_on_timeout.inc
---echo End of 5.0 tests
+--echo # End of 5.0 tests
diff --git a/mysql-test/suite/innodb/t/innodb_ut_format_name.test b/mysql-test/suite/innodb/t/innodb_ut_format_name.test
deleted file mode 100644
index 6e4023c7..00000000
--- a/mysql-test/suite/innodb/t/innodb_ut_format_name.test
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Test ut_format_name()
-#
-
--- source include/have_debug.inc
--- source include/have_innodb.inc
-
-CREATE TABLE t (c INT) ENGINE=INNODB;
-
-# This will invoke test_ut_format_name() in debug builds
-
-SET @save_dbug = @@debug_dbug;
-SET debug_dbug = '+d,test_ut_format_name';
-
-DROP TABLE t;
-
-SET debug_dbug = @save_dbug;
diff --git a/mysql-test/suite/innodb/t/insert_into_empty.test b/mysql-test/suite/innodb/t/insert_into_empty.test
index baba5a14..cc631bca 100644
--- a/mysql-test/suite/innodb/t/insert_into_empty.test
+++ b/mysql-test/suite/innodb/t/insert_into_empty.test
@@ -271,6 +271,16 @@ connection default;
disconnect con1;
SELECT * FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-33979 Disallow bulk insert operation during
+--echo # partition update statement
+--echo #
+CREATE TABLE t1(a INT KEY)ENGINE=InnoDB
+ PARTITION BY KEY(a) PARTITIONS 16;
+INSERT INTO t1 VALUES(1);
+UPDATE t1 SET a = 2 WHERE a = 1;
+DROP TABLE t1;
--echo # End of 10.6 tests
--echo #
@@ -495,3 +505,54 @@ DROP TABLE t1;
CREATE TABLE t (a CHAR CHARACTER SET utf8) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
INSERT t SELECT left(seq,1) FROM seq_1_to_43691;
DROP TABLE t;
+
+--echo #
+--echo # MDEV-32453 Bulk insert fails to apply when trigger
+--echo # does insert operation
+--echo #
+CREATE TABLE t(c INT)ENGINE=InnoDB;
+CREATE TRIGGER t2_ai AFTER INSERT ON t FOR EACH ROW SET @a:=(SELECT * FROM t);
+BEGIN;
+--error ER_SUBQUERY_NO_1_ROW
+INSERT INTO t VALUES (1),(1);
+COMMIT;
+DROP TABLE t;
+
+--echo #
+--echo # MDEV-33868 Assertion `trx->bulk_insert' failed in
+--echo # innodb_prepare_commit_versioned
+--echo #
+CREATE TABLE t (id INT) ENGINE=InnoDB;
+--replace_result $MYSQLTEST_VARDIR VARDIR
+--disable_ps2_protocol
+eval select 1 into outfile "$MYSQLTEST_VARDIR/tmp/t.outfile";
+--enable_ps2_protocol
+BEGIN;
+--replace_result $MYSQLTEST_VARDIR VARDIR
+eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t.outfile' INTO TABLE t;
+COMMIT;
+DROP TABLE t;
+--remove_file $MYSQLTEST_VARDIR/tmp/t.outfile
+
+--echo #
+--echo # MDEV-33934 Assertion `!check_foreigns' failed in
+--echo # trx_t::bulk_insert_apply_for_table(dict_table_t*)
+--echo #
+CREATE TABLE t1(f1 INT,f2 INT,KEY(f1))engine=innodb;
+BEGIN;
+INSERT INTO t1 VALUES();
+SET STATEMENT FOREIGN_KEY_CHECKS=1 FOR SELECT * FROM t1;
+COMMIT;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-33970 Assertion `!m.first->second.is_bulk_insert()'
+--echo # failed in trx_undo_report_row_operation()
+--echo #
+CREATE TABLE t1(c1 INT,c2 CHAR) ENGINE=INNODB PARTITION BY KEY(c1) PARTITIONS 2;
+begin;
+INSERT INTO t1 VALUES(2,0);
+DELETE FROM t1;
+commit;
+DROP TABLE t1;
+--echo # End of 10.11 tests
diff --git a/mysql-test/suite/innodb/t/instant_alter_crash.test b/mysql-test/suite/innodb/t/instant_alter_crash.test
index f51f61e3..76b85b77 100644
--- a/mysql-test/suite/innodb/t/instant_alter_crash.test
+++ b/mysql-test/suite/innodb/t/instant_alter_crash.test
@@ -230,29 +230,3 @@ CHECK TABLE t2;
DROP TABLE t1,t2;
--list_files $MYSQLD_DATADIR/test
-
---echo #
---echo # MDEV-26198 Assertion `0' failed in row_log_table_apply_op during
---echo # ADD PRIMARY KEY or OPTIMIZE TABLE
---echo #
-CREATE TABLE t1(f1 year default null, f2 year default null,
- f3 text, f4 year default null, f5 year default null,
- f6 year default null, f7 year default null,
- f8 year default null)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
-INSERT INTO t1 VALUES(1, 1, 1, 1, 1, 1, 1, 1);
-ALTER TABLE t1 ADD COLUMN f9 year default null, ALGORITHM=INPLACE;
-set DEBUG_SYNC="row_log_table_apply1_before SIGNAL con1_insert WAIT_FOR con1_finish";
-send ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ADD COLUMN f10 YEAR DEFAULT NULL, ALGORITHM=INPLACE;
-
-connect(con1,localhost,root,,,);
-SET DEBUG_SYNC="now WAIT_FOR con1_insert";
-INSERT IGNORE INTO t1 (f3) VALUES ( 'b' );
-INSERT IGNORE INTO t1 (f3) VALUES ( 'l' );
-SET DEBUG_SYNC="now SIGNAL con1_finish";
-
-connection default;
-reap;
-disconnect con1;
-SET DEBUG_SYNC=RESET;
-CHECK TABLE t1;
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/instant_alter_debug.test b/mysql-test/suite/innodb/t/instant_alter_debug.test
index f11d0bd0..953f7663 100644
--- a/mysql-test/suite/innodb/t/instant_alter_debug.test
+++ b/mysql-test/suite/innodb/t/instant_alter_debug.test
@@ -551,11 +551,62 @@ SET DEBUG_SYNC="now WAIT_FOR try_insert";
--error ER_LOCK_WAIT_TIMEOUT
INSERT INTO t1 VALUES(1, 2);
SET DEBUG_SYNC="now SIGNAL alter_progress";
-disconnect con1;
connection default;
reap;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-26198 Assertion `0' failed in row_log_table_apply_op during
+--echo # ADD PRIMARY KEY or OPTIMIZE TABLE
+--echo #
+CREATE TABLE t1(f1 year default null, f2 year default null,
+ f3 text, f4 year default null, f5 year default null,
+ f6 year default null, f7 year default null,
+ f8 year default null)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, 1, 1, 1, 1, 1, 1);
+ALTER TABLE t1 ADD COLUMN f9 year default null, ALGORITHM=INPLACE;
+set DEBUG_SYNC="row_log_table_apply1_before SIGNAL con1_insert WAIT_FOR con1_finish";
+send ALTER TABLE t1 ADD COLUMN f10 YEAR DEFAULT NULL, FORCE, ALGORITHM=INPLACE;
+
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR con1_insert";
+INSERT IGNORE INTO t1 (f3) VALUES ( 'b' );
+INSERT IGNORE INTO t1 (f3) VALUES ( 'l' );
+SET DEBUG_SYNC="now SIGNAL con1_finish";
+
+connection default;
+reap;
+CHECK TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-19044 Alter table corrupts while applying the
+--echo # modification log
+--echo #
+CREATE TABLE t1 (
+ f1 INT,
+ f2 INT,
+ f3 char(19) CHARACTER SET utf8mb3,
+ f4 VARCHAR(500),
+ f5 TEXT)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(3, 1, REPEAT('a', 2), REPEAT("b", 20),'a');
+ALTER TABLE t1 ADD COLUMN f6 INT NOT NULL, ALGORITHM=INSTANT;
+INSERT INTO t1 VALUES(1, 2, REPEAT('InnoDB', 2),
+ REPEAT("MariaDB", 20), REPEAT('a', 8000), 12);
+INSERT INTO t1 VALUES(1, 2, REPEAT('MYSQL', 2),
+ REPEAT("MariaDB", 20), REPEAT('a', 8000), 12);
+SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL con1_begin WAIT_FOR con1_update';
+send ALTER TABLE t1 MODIFY COLUMN f2 INT NOT NULL, FORCE, ALGORITHM=INPLACE;
+connection con1;
+SET DEBUG_SYNC='now WAIT_FOR con1_begin';
+UPDATE t1 SET f2=204 order by f1 limit 2;
+SET DEBUG_SYNC='now SIGNAL con1_update';
+connection default;
+reap;
+disconnect con1;
SET DEBUG_SYNC=reset;
+CHECK TABLE t1;
+DROP TABLE t1;
--echo # End of 10.4 tests
diff --git a/mysql-test/suite/innodb/t/instant_alter_extend.test b/mysql-test/suite/innodb/t/instant_alter_extend.test
index 7258ba6d..636527e5 100644
--- a/mysql-test/suite/innodb/t/instant_alter_extend.test
+++ b/mysql-test/suite/innodb/t/instant_alter_extend.test
@@ -256,3 +256,16 @@ select * from t1;
check table t1;
drop database best;
+
+--echo #
+--echo # MDEV-33214 Table is getting rebuild with
+--echo # ALTER TABLE ADD COLUMN
+--echo #
+use test;
+CREATE TABLE t1(f1 INT, f2 VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+INSERT INTO t1 VALUES(1,'abc'),(2,'def');
+ALTER TABLE t1 ADD (f3 VARCHAR(5000), f4 VARCHAR(20)), ALGORITHM=instant;
+ALTER TABLE t1 ADD f5 TEXT, ALGORITHM=INSTANT;
+DROP TABLE t1;
+
+--echo # End of 10.4 tests
diff --git a/mysql-test/suite/innodb/t/instant_alter_import.test b/mysql-test/suite/innodb/t/instant_alter_import.test
index 3a811def..fa35c582 100644
--- a/mysql-test/suite/innodb/t/instant_alter_import.test
+++ b/mysql-test/suite/innodb/t/instant_alter_import.test
@@ -83,6 +83,7 @@ flush tables t2 for export;
unlock tables;
alter table t1 import tablespace;
+--source include/restart_mysqld.inc
select * from t1;
--remove_file $MYSQLD_DATADIR/test/t1.ibd
diff --git a/mysql-test/suite/innodb/t/lock_insert_into_empty.test b/mysql-test/suite/innodb/t/lock_insert_into_empty.test
index 91d2bcdd..42409e8c 100644
--- a/mysql-test/suite/innodb/t/lock_insert_into_empty.test
+++ b/mysql-test/suite/innodb/t/lock_insert_into_empty.test
@@ -51,6 +51,7 @@ CREATE TABLE t1 (k INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 SET k=1;
START TRANSACTION;
INSERT INTO t1 SET k=2;
+SELECT count(*) > 0 FROM mysql.innodb_index_stats lock in share mode;
--connect (con1,localhost,root,,test)
SET innodb_lock_wait_timeout=0;
@@ -59,5 +60,6 @@ CREATE TABLE t2 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
AS SELECT k FROM t1;
--disconnect con1
--connection default
-
+SET innodb_lock_wait_timeout=default;
DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
diff --git a/mysql-test/suite/innodb/t/lock_isolation.test b/mysql-test/suite/innodb/t/lock_isolation.test
new file mode 100644
index 00000000..5c60f6e7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/lock_isolation.test
@@ -0,0 +1,149 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-26642 Weird SELECT view when a record is
+--echo # modified to the same value by two transactions
+--echo # MDEV-32898 Phantom rows caused by updates of PRIMARY KEY
+--echo #
+
+CREATE TABLE t(a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t VALUES (1,1),(2,2);
+BEGIN; SELECT * FROM t LOCK IN SHARE MODE;
+--connect con_weird,localhost,root
+BEGIN;
+SELECT * FROM t;
+--connect consistent,localhost,root
+SET innodb_snapshot_isolation=ON;
+BEGIN;
+SELECT * FROM t;
+--connection default
+UPDATE t SET a=3 WHERE b=2;
+COMMIT;
+--connection consistent
+--error ER_CHECKREAD
+UPDATE t SET b=3;
+SELECT * FROM t;
+COMMIT;
+--connection con_weird
+UPDATE t SET b=3;
+SELECT * FROM t;
+COMMIT;
+--connection default
+SELECT * FROM t;
+DROP TABLE t;
+
+--echo #
+--echo # MDEV-26643 Inconsistent behaviors of UPDATE under
+--echo # READ UNCOMMITTED and READ COMMITTED isolation level
+--echo #
+
+CREATE TABLE t(a INT, b INT) ENGINE=InnoDB;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+BEGIN; UPDATE t SET a = 10;
+
+--connection consistent
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+--send UPDATE t SET b = 20 WHERE a
+
+--connection default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'Updating'
+ and info = 'UPDATE t SET b = 20 WHERE a';
+--source include/wait_condition.inc
+
+COMMIT;
+
+--connection consistent
+--reap
+SELECT * FROM t;
+
+--connection default
+TRUNCATE TABLE t;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+BEGIN; UPDATE t SET a = 10;
+
+--connection consistent
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+--send UPDATE t SET b = 20 WHERE a
+
+--connection default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where info = 'UPDATE t SET b = 20 WHERE a';
+--source include/wait_condition.inc
+
+COMMIT;
+
+--connection consistent
+--reap
+SELECT * FROM t;
+
+--connection default
+TRUNCATE TABLE t;
+INSERT INTO t VALUES(NULL, 1), (2, 2);
+BEGIN; UPDATE t SET a = 10;
+
+--connection con_weird
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+send UPDATE t SET b = 20 WHERE a;
+
+--connection default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'Updating'
+ and info = 'UPDATE t SET b = 20 WHERE a';
+--source include/wait_condition.inc
+
+SELECT * FROM t;
+COMMIT;
+
+--connection con_weird
+--reap
+COMMIT;
+
+--connection default
+SELECT * FROM t;
+DROP TABLE t;
+
+--echo #
+--echo # MDEV-33802 Weird read view after ROLLBACK of other transactions
+--echo #
+
+CREATE TABLE t(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t SET a=1;
+
+BEGIN; INSERT INTO t SET a=2;
+
+--connection consistent
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+--disable_ps2_protocol
+--error ER_CHECKREAD
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+--enable_ps2_protocol
+
+--connection con_weird
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+send
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+
+--connection default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'Sending data'
+ and info LIKE 'SELECT * FROM t %';
+--source include/wait_condition.inc
+ROLLBACK;
+
+--connection con_weird
+--reap
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+--disconnect con_weird
+
+--connection consistent
+SELECT * FROM t FORCE INDEX (b) FOR UPDATE;
+--disconnect consistent
+
+--connection default
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/log_file_name.test b/mysql-test/suite/innodb/t/log_file_name.test
index f88a13db..371d10c9 100644
--- a/mysql-test/suite/innodb/t/log_file_name.test
+++ b/mysql-test/suite/innodb/t/log_file_name.test
@@ -206,7 +206,7 @@ print FILE "\0" x 16384;
close(FILE);
EOF
---exec echo "" > $MYSQLD_DATADIR/test/u2.ibd
+--write_line "" $MYSQLD_DATADIR/test/u2.ibd
--copy_file $MYSQLD_DATADIR/test/u6.ibd $MYSQLD_DATADIR/test/u4.ibd
diff --git a/mysql-test/suite/innodb/t/log_upgrade_101_flags.test b/mysql-test/suite/innodb/t/log_upgrade_101_flags.test
new file mode 100644
index 00000000..4358ccfa
--- /dev/null
+++ b/mysql-test/suite/innodb/t/log_upgrade_101_flags.test
@@ -0,0 +1,91 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_embedded.inc
+call mtr.add_suppression("InnoDB: The change buffer is corrupted");
+call mtr.add_suppression("InnoDB: Tablespace size stored in header is 768 pages, but the sum of data file sizes is 384 pages");
+call mtr.add_suppression("InnoDB: adjusting FSP_SPACE_FLAGS of file");
+--source include/shutdown_mysqld.inc
+let bugdir= $MYSQLTEST_VARDIR/tmp/log_upgrade;
+--mkdir $bugdir
+--let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $dirs= --innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir
+
+# Test case similar to log_upgrade.test
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/crc32.pl";
+my $polynomial = 0x82f63b78; # CRC-32C
+
+die unless open OUT, ">", "$ENV{bugdir}/ibdata1";
+binmode OUT;
+
+my $head = pack("Nx[18]", 0);
+# Add FSP_SPACE_FLAGS as 49152 (10.1.0...10.1.20), page_size = 32k
+my $body = pack("x[8]Nx[4]Nx[2]Nx[32696]", 768, 49152, 97937874);
+my $ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+print OUT pack("N",$ck).$head.pack("x[12]").$body.pack("Nx[4]",$ck);
+# Dummy pages 1..6.
+print OUT chr(0) x (6 * 32768);
+# Dictionary header page (page 7).
+$head = pack("Nx[18]", 7);
+$body = pack("x[32]Nx[8]Nx[32674]", 8, 9);
+$ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+print OUT pack("N",$ck).$head.pack("x[12]").$body.pack("Nx[4]",$ck);
+
+# Empty SYS_TABLES page (page 8).
+$head = pack("NNNx[8]n", 8, ~0, ~0, 17855);
+$body = pack("nnx[31]Cx[20]", 2, 124, 1);
+$body .= pack("nxnn", 0x801, 3, 116) . "infimum";
+$body .= pack("xnxnxx", 0x901, 0x803) . "supremum";
+$body .= pack("x[32632]nn", 116, 101);
+$ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+print OUT pack("N",$ck).$head.pack("x[12]").$body.pack("Nx[4]",$ck);
+
+# Empty SYS_INDEXES page (page 9).
+$head = pack("NNNx[8]n", 9, ~0, ~0, 17855);
+$body = pack("nnx[31]Cx[20]", 2, 124, 3);
+$body .= pack("nxnn", 0x801, 3, 116) . "infimum";
+$body .= pack("xnxnxx", 0x901, 0x803) . "supremum";
+$body .= pack("x[32632]nn", 116, 101);
+$ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+print OUT pack("N",$ck).$head.pack("x[12]").$body.pack("Nx[4]",$ck);
+
+die unless seek(OUT, 768 * 16384 - 1, 0);
+print OUT chr(0);
+close OUT or die;
+
+die unless open OUT, ">", "$ENV{bugdir}/ib_logfile0";
+binmode OUT;
+$_= pack("Nx[5]nx[5]", 1, 0x1286) . "BogoDB 4.3.2.1" . chr(0) x 478;
+print OUT $_, pack("N", mycrc32($_, 0, $polynomial));
+# checkpoint page 1 and all-zero checkpoint 2
+$_= pack("x[13]nCNNx[484]", 0x1286, 12, 2, 0x80c);
+print OUT $_, pack("N", mycrc32($_, 0, $polynomial));
+die unless seek(OUT, 0x1FFFFFFFF, 0);
+print OUT chr(0);
+close OUT or die;
+die unless open OUT, ">", "$ENV{bugdir}/ib_logfile1";
+binmode OUT;
+die unless seek(OUT, 0x800, 0); # the first 2048 bytes are unused!
+$_= pack("Nnnx[500]", 0x80000944, 12, 12);
+print OUT $_, pack("N", mycrc32($_, 0, $polynomial));
+die unless seek(OUT, 0x1FFFFFFFF, 0);
+print OUT chr(0);
+close OUT or die;
+EOF
+
+--let $restart_parameters= $dirs --innodb-force-recovery=5 --innodb-log-file-size=4m --innodb_page_size=32k --innodb_buffer_pool_size=10M
+--source include/start_mysqld.inc
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+--source include/shutdown_mysqld.inc
+--let SEARCH_PATTERN= InnoDB: Upgrading redo log:
+--source include/search_pattern_in_file.inc
+--let $restart_parameters= $dirs
+
+--remove_files_wildcard $bugdir
+--rmdir $bugdir
+--let $restart_parameters=
+--source include/start_mysqld.inc
+
+--echo # End of 10.5 tests
diff --git a/mysql-test/suite/innodb/t/monitor.test b/mysql-test/suite/innodb/t/monitor.test
index 77483d62..69545c9c 100644
--- a/mysql-test/suite/innodb/t/monitor.test
+++ b/mysql-test/suite/innodb/t/monitor.test
@@ -5,11 +5,11 @@
# sys_vars.innodb_monitor_enable_basic
--source include/have_innodb.inc
-# Test turn on/off the monitor counter with "all" option
-# By default, they will be off.
select name, if(enabled,'enabled','disabled') status
from information_schema.innodb_metrics;
+create temporary table orig_innodb_metrics as select name, enabled from information_schema.innodb_metrics;
+
set global innodb_monitor_disable = All;
select name from information_schema.innodb_metrics where enabled;
@@ -315,18 +315,22 @@ CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
let $innodb_monitor_enable = `SELECT @@innodb_monitor_enable`;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*1*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
SET GLOBAL innodb_monitor_enable='module_buffer_page';
INSERT INTO t1 VALUES (1), (2), (3), (4); FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+
+let $wait_condition= select count > 0 from information_schema.innodb_metrics where name like 'buffer_page_written_index_leaf';
+source include/wait_condition.inc;
+
+SELECT /*2*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
SET GLOBAL innodb_monitor_disable='module_buffer_page';
SET GLOBAL innodb_monitor_reset_all='module_buffer_page';
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*3*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
SET GLOBAL innodb_monitor_enable='%';
@@ -334,18 +338,22 @@ SET GLOBAL innodb_monitor_enable='%';
SET GLOBAL innodb_monitor_reset_all= '%', innodb_compression_algorithm= foo;
INSERT INTO t1 VALUES (5), (6), (7), (8); FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+
+let $wait_condition= select count > 0 from information_schema.innodb_metrics where name like 'buffer_page_written_index_leaf';
+source include/wait_condition.inc;
+
+SELECT /*4*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
SET GLOBAL innodb_monitor_disable='%';
SET GLOBAL innodb_monitor_reset_all='%';
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*5*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
SET GLOBAL innodb_monitor_enable='ALL';
INSERT INTO t1 VALUES (9), (10), (11), (12); FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
-SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
+SELECT /*6*/ NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
DROP TABLE t1;
@@ -462,8 +470,36 @@ DROP TABLE fl2;
DROP TABLE fl1;
DROP TABLE fl0;
---disable_warnings
-SET GLOBAL innodb_monitor_enable=default;
-SET GLOBAL innodb_monitor_disable=default;
-SET GLOBAL innodb_monitor_reset_all=default;
---enable_warnings
+set global innodb_monitor_disable = 'adaptive\\_hash\\_p%';
+set global innodb_monitor_disable = 'adaptive\\_hash\\_r%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_batch\\_n%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_batch\\_s%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_g%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_s%';
+set global innodb_monitor_disable = 'buffer\\_LRU\\_u%';
+set global innodb_monitor_disable = 'buffer\\_f%';
+set global innodb_monitor_disable = 'buffer\\_page\\_%';
+set global innodb_monitor_disable = 'c%';
+set global innodb_monitor_disable = 'ddl%';
+set global innodb_monitor_disable = 'icp%';
+set global innodb_monitor_disable = 'index\\_p%';
+set global innodb_monitor_disable = 'innodb\\_di%';
+set global innodb_monitor_disable = 'innodb\\_l%';
+set global innodb_monitor_disable = 'innodb\\_m%';
+set global innodb_monitor_disable = 'lock\\_re%';
+set global innodb_monitor_disable = 'lock\\_ta%';
+set global innodb_monitor_disable = 'log%';
+set global innodb_monitor_disable = 'm%';
+set global innodb_monitor_disable = 'p%';
+set global innodb_monitor_disable = 't%';
+set global innodb_monitor_enable = 'log\\_w%';
+set global innodb_monitor_enable = 'trx_rseg_history_len';
+set global innodb_monitor_enable = 'trx_undo_slots_cached';
+
+set global innodb_monitor_enable=default;
+set global innodb_monitor_disable=default;
+set global innodb_monitor_reset_all=default;
+
+select name, orig.enabled, new.enabled from
+ orig_innodb_metrics orig join information_schema.innodb_metrics new using(name)
+ where orig.enabled != new.enabled;
diff --git a/mysql-test/suite/innodb/t/purge_secondary.test b/mysql-test/suite/innodb/t/purge_secondary.test
index 8a38a418..ec02c726 100644
--- a/mysql-test/suite/innodb/t/purge_secondary.test
+++ b/mysql-test/suite/innodb/t/purge_secondary.test
@@ -4,10 +4,6 @@
SET @save_stats_persistent = @@GLOBAL.innodb_stats_persistent;
SET GLOBAL innodb_stats_persistent = 0;
---disable_query_log
-call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
---enable_query_log
-
CREATE TABLE t1 (
a SERIAL, b CHAR(255) NOT NULL DEFAULT '', c BOOLEAN DEFAULT false,
l LINESTRING NOT NULL DEFAULT ST_linefromtext('linestring(448 -689,
diff --git a/mysql-test/suite/innodb/t/rename_table.test b/mysql-test/suite/innodb/t/rename_table.test
index 654f8809..a6181342 100644
--- a/mysql-test/suite/innodb/t/rename_table.test
+++ b/mysql-test/suite/innodb/t/rename_table.test
@@ -32,17 +32,22 @@ DROP DATABASE abc_def;
DROP DATABASE abc_def2;
-call mtr.add_suppression("InnoDB: (Operating system error|Error number \\d+ means|Cannot rename file)");
+call mtr.add_suppression("InnoDB: Cannot rename '.*t1.ibd' to '.*non_existing_db.*' because the target schema directory doesn't exist");
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(100);
--replace_result "\\" "/"
--error ER_ERROR_ON_RENAME
RENAME TABLE t1 TO non_existing_db.t1;
---let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot rename file '.*t1\.ibd' to '.*non_existing_db
+--let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot rename '.*t1\.ibd' to '.*non_existing_db
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
--source include/search_pattern_in_file.inc
+SET GLOBAL innodb_fast_shutdown=2;
+--source include/restart_mysqld.inc
+
+SELECT * FROM t1;
# Cleanup
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/row_size_error_log_warnings_3.test b/mysql-test/suite/innodb/t/row_size_error_log_warnings_3.test
index 24029a48..47fedc52 100644
--- a/mysql-test/suite/innodb/t/row_size_error_log_warnings_3.test
+++ b/mysql-test/suite/innodb/t/row_size_error_log_warnings_3.test
@@ -85,3 +85,19 @@ CREATE TABLE t1(f1 char(200), f2 char(200), f3 char(200),
f29(10), f30(10), f31(10), f32(10),
f33(10)))
ENGINE=InnoDB;
+
+--echo #
+--echo # MDEV-31161 Assertion failures upon adding a too long key
+--echo # to table with COMPRESSED row format
+--echo #
+--let $page_size= `SELECT @@GLOBAL.innodb_page_size`
+CREATE TABLE t1(pk INT PRIMARY KEY, f1 INT, f2 TEXT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+INSERT INTO t1 (pk) VALUES (1);
+let $error_code = 0;
+if ($page_size == 4096) {
+let $error_code = ER_TOO_BIG_ROWSIZE;
+}
+
+--error $error_code
+ALTER TABLE t1 ADD KEY (f1), ADD KEY (f2(1000));
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/temporary_table.test b/mysql-test/suite/innodb/t/temporary_table.test
index b09ff7c7..ee1474bb 100644
--- a/mysql-test/suite/innodb/t/temporary_table.test
+++ b/mysql-test/suite/innodb/t/temporary_table.test
@@ -135,7 +135,7 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED');
# We cannot use include/restart_mysqld.inc in this particular test,
# because SHOW STATUS would fail due to unwritable (nonexistent) tmpdir.
--source include/shutdown_mysqld.inc
---exec echo "restart: --tmpdir=/dev/null/$MYSQL_TMP_DIR --skip-innodb-fast-shutdown" > $_expect_file_name
+--write_line "restart: --tmpdir=/dev/null/$MYSQL_TMP_DIR --skip-innodb-fast-shutdown" $_expect_file_name
--enable_reconnect
--disable_result_log
--disable_query_log
diff --git a/mysql-test/suite/innodb/t/undo_space_dblwr.test b/mysql-test/suite/innodb/t/undo_space_dblwr.test
index b6fd6738..52b19a4b 100644
--- a/mysql-test/suite/innodb/t/undo_space_dblwr.test
+++ b/mysql-test/suite/innodb/t/undo_space_dblwr.test
@@ -9,19 +9,19 @@ show variables like 'innodb_doublewrite';
create table t1(f1 int not null, f2 int not null)engine=innodb;
insert into t1 values (1, 1);
---source include/wait_all_purged.inc
+# Slow shutdown and restart to make sure ibuf merge is finished
+SET GLOBAL innodb_fast_shutdown = 0;
+let $shutdown_timeout=;
+let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
+--source include/restart_mysqld.inc
-set GLOBAL innodb_log_checkpoint_now=1;
--source ../include/no_checkpoint_start.inc
-
--echo # Make the first page dirty for undo tablespace
set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = 1;
-SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
-SET GLOBAL innodb_max_dirty_pages_pct=0.0;
+SET GLOBAL innodb_buf_flush_list_now = 1;
-sleep 1;
--let CLEANUP_IF_CHECKPOINT=drop table t1;
--source ../include/no_checkpoint_end.inc
diff --git a/mysql-test/suite/innodb/t/undo_truncate.test b/mysql-test/suite/innodb/t/undo_truncate.test
index 18cc4f36..9abf08ff 100644
--- a/mysql-test/suite/innodb/t/undo_truncate.test
+++ b/mysql-test/suite/innodb/t/undo_truncate.test
@@ -13,7 +13,7 @@ call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operation
# Re-create the undo log tablespaces after slow shutdown
SET GLOBAL innodb_fast_shutdown=0;
-let $restart_parameters="--innodb_undo_tablespaces=2";
+let $restart_parameters=--innodb_undo_tablespaces=2;
--source include/restart_mysqld.inc
SET GLOBAL innodb_undo_log_truncate = 0;
@@ -46,6 +46,7 @@ connection con1; reap; send delete from t1;
connection con2; reap; delete from t2;
connection con1; reap;
+SET GLOBAL innodb_max_undo_log_size = @@GLOBAL.innodb_page_size * 4294967296;
SET GLOBAL innodb_undo_log_truncate = 1;
commit; disconnect con1;
connection con2; commit; disconnect con2;
@@ -57,6 +58,8 @@ let $trx_before= `SHOW ENGINE INNODB STATUS`;
let $trx_before= `select substr('$trx_before',9)+2`;
SET GLOBAL innodb_max_purge_lag_wait=0;
+SET GLOBAL innodb_max_undo_log_size=DEFAULT;
+SET GLOBAL innodb_max_purge_lag_wait=0;
set global innodb_fast_shutdown=0;
let $restart_parameters=;
--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/undo_truncate_recover.test b/mysql-test/suite/innodb/t/undo_truncate_recover.test
index 148c3f93..988b28f7 100644
--- a/mysql-test/suite/innodb/t/undo_truncate_recover.test
+++ b/mysql-test/suite/innodb/t/undo_truncate_recover.test
@@ -13,7 +13,7 @@
# Re-create the undo log tablespaces after slow shutdown
SET GLOBAL innodb_fast_shutdown=0;
-let $restart_parameters="--innodb_undo_tablespaces=2";
+let $restart_parameters=--innodb_undo_tablespaces=2;
--source include/restart_mysqld.inc
SET GLOBAL innodb_undo_log_truncate = 1;
diff --git a/mysql-test/suite/innodb_fts/r/create,orig.rdiff b/mysql-test/suite/innodb_fts/r/create,orig.rdiff
new file mode 100644
index 00000000..e7191646
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/create,orig.rdiff
@@ -0,0 +1,11 @@
+--- create.result
++++ create.reject
+@@ -207,7 +207,7 @@
+ UNIQUE KEY `FTS_DOC_ID_INDEX` (`FTS_DOC_ID` DESC)
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=INPLACE;
+-ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
++ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+ ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=COPY;
+ ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+ DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/create.result b/mysql-test/suite/innodb_fts/r/create.result
index 4334344a..04fc2019 100644
--- a/mysql-test/suite/innodb_fts/r/create.result
+++ b/mysql-test/suite/innodb_fts/r/create.result
@@ -207,7 +207,7 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `FTS_DOC_ID_INDEX` (`FTS_DOC_ID` DESC)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=INPLACE;
-ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=COPY;
ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/foreign_key_update.result b/mysql-test/suite/innodb_fts/r/foreign_key_update.result
index f2d47da7..87c21c0b 100644
--- a/mysql-test/suite/innodb_fts/r/foreign_key_update.result
+++ b/mysql-test/suite/innodb_fts/r/foreign_key_update.result
@@ -32,3 +32,15 @@ database
database
DROP TABLE t1_fk;
DROP TABLE t1;
+#
+# MDEV-32346 Assertion failure sym_node->table != NULL
+# in pars_retrieve_table_def on UPDATE
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT, b TEXT, FOREIGN KEY(a) REFERENCES t1(a),
+FULLTEXT (b))ENGINE=InnoDB;
+INSERT INTO t1 SET a=1;
+ALTER TABLE t2 DISCARD TABLESPACE;
+UPDATE t1 SET a=2;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+DROP TABLE t2,t1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers.rdiff b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers.rdiff
new file mode 100644
index 00000000..d46275ff
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers.rdiff
@@ -0,0 +1,57 @@
+--- innodb-fts-ddl.result
++++ innodb-fts-ddl.reject
+@@ -11,8 +11,10 @@
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+ ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
+-ERROR 0A000: ALGORITHM=NOCOPY is not supported for this operation. Try ALGORITHM=INPLACE
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=INPLACE;
++ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 6
++info: Records: 6 Duplicates: 0 Warnings: 0
+ SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ id title body
+@@ -26,7 +28,9 @@
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 12
++info: Records: 12 Duplicates: 0 Warnings: 0
+ SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ id title body
+@@ -76,8 +80,10 @@
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+ CREATE FULLTEXT INDEX idx on fts_test (title, body) LOCK=NONE;
+-ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
++ERROR 0A000: LOCK=NONE is not supported. Reason: Not implemented for system-versioned operations. Try LOCK=SHARED
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 6
++info: Records: 6 Duplicates: 0 Warnings: 0
+ ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
+ ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
+ ALTER TABLE fts_test ROW_FORMAT=REDUNDANT;
+@@ -162,7 +168,7 @@
+ (20, 'MySQL Security','When configured properly, MySQL ...');
+ ALTER TABLE articles ADD FULLTEXT INDEX idx (title),
+ ADD FULLTEXT INDEX idx3 (title), ALGORITHM=INPLACE;
+-ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ ALTER TABLE articles ADD FULLTEXT INDEX idx (title),
+ ADD FULLTEXT INDEX idx3 (title);
+ affected rows: 6
+@@ -274,7 +280,7 @@
+ call mtr.add_suppression("InnoDB: Failed to create");
+ CREATE TABLE t1(a TEXT, FTS_DOC_ID BIGINT UNSIGNED NOT NULL UNIQUE) ENGINE=InnoDB;
+ ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE;
+-ERROR HY000: Got error 11 "Resource temporarily unavailable" from storage engine InnoDB
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ DROP TABLE t1;
+ CREATE TABLE t1 (a VARCHAR(3)) ENGINE=InnoDB;
+ ALTER TABLE t1 ADD FULLTEXT KEY(a), ADD COLUMN b VARCHAR(3), ADD FULLTEXT KEY(b);
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers_trx.rdiff b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers_trx.rdiff
new file mode 100644
index 00000000..d46275ff
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl,vers_trx.rdiff
@@ -0,0 +1,57 @@
+--- innodb-fts-ddl.result
++++ innodb-fts-ddl.reject
+@@ -11,8 +11,10 @@
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+ ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
+-ERROR 0A000: ALGORITHM=NOCOPY is not supported for this operation. Try ALGORITHM=INPLACE
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=INPLACE;
++ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 6
++info: Records: 6 Duplicates: 0 Warnings: 0
+ SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ id title body
+@@ -26,7 +28,9 @@
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 12
++info: Records: 12 Duplicates: 0 Warnings: 0
+ SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ id title body
+@@ -76,8 +80,10 @@
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+ CREATE FULLTEXT INDEX idx on fts_test (title, body) LOCK=NONE;
+-ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
+-ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
++ERROR 0A000: LOCK=NONE is not supported. Reason: Not implemented for system-versioned operations. Try LOCK=SHARED
++ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
++affected rows: 6
++info: Records: 6 Duplicates: 0 Warnings: 0
+ ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
+ ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
+ ALTER TABLE fts_test ROW_FORMAT=REDUNDANT;
+@@ -162,7 +168,7 @@
+ (20, 'MySQL Security','When configured properly, MySQL ...');
+ ALTER TABLE articles ADD FULLTEXT INDEX idx (title),
+ ADD FULLTEXT INDEX idx3 (title), ALGORITHM=INPLACE;
+-ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ ALTER TABLE articles ADD FULLTEXT INDEX idx (title),
+ ADD FULLTEXT INDEX idx3 (title);
+ affected rows: 6
+@@ -274,7 +280,7 @@
+ call mtr.add_suppression("InnoDB: Failed to create");
+ CREATE TABLE t1(a TEXT, FTS_DOC_ID BIGINT UNSIGNED NOT NULL UNIQUE) ENGINE=InnoDB;
+ ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE;
+-ERROR HY000: Got error 11 "Resource temporarily unavailable" from storage engine InnoDB
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ DROP TABLE t1;
+ CREATE TABLE t1 (a VARCHAR(3)) ENGINE=InnoDB;
+ ALTER TABLE t1 ADD FULLTEXT KEY(a), ADD COLUMN b VARCHAR(3), ADD FULLTEXT KEY(b);
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers.rdiff b/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers.rdiff
new file mode 100644
index 00000000..f9ba2177
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers.rdiff
@@ -0,0 +1,10 @@
+--- innodb-fts-fic.result
++++ innodb-fts-fic.reject
+@@ -172,7 +172,6 @@
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+ (2, 'How To Use MySQL Well','After you went through a ...');
+ CREATE FULLTEXT INDEX idx ON wp(title, text);
+-ERROR HY000: Column 'FTS_DOC_ID' is of wrong type for an InnoDB FULLTEXT index
+ DROP TABLE wp;
+ CREATE TABLE wp(
+ FTS_DOC_ID bigint unsigned PRIMARY KEY,
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers_trx.rdiff b/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers_trx.rdiff
new file mode 100644
index 00000000..f9ba2177
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-fic,vers_trx.rdiff
@@ -0,0 +1,10 @@
+--- innodb-fts-fic.result
++++ innodb-fts-fic.reject
+@@ -172,7 +172,6 @@
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+ (2, 'How To Use MySQL Well','After you went through a ...');
+ CREATE FULLTEXT INDEX idx ON wp(title, text);
+-ERROR HY000: Column 'FTS_DOC_ID' is of wrong type for an InnoDB FULLTEXT index
+ DROP TABLE wp;
+ CREATE TABLE wp(
+ FTS_DOC_ID bigint unsigned PRIMARY KEY,
diff --git a/mysql-test/suite/innodb_fts/r/misc_debug,vers.rdiff b/mysql-test/suite/innodb_fts/r/misc_debug,vers.rdiff
new file mode 100644
index 00000000..69294a5a
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/misc_debug,vers.rdiff
@@ -0,0 +1,66 @@
+--- misc_debug.result
++++ misc_debug.reject
+@@ -7,14 +7,14 @@
+ SET @saved_debug_dbug = @@SESSION.debug_dbug;
+ SET SESSION debug_dbug="+d,ib_dict_create_index_tree_fail";
+ CREATE FULLTEXT INDEX idx ON articles(body);
+-ERROR HY000: Out of memory.
++ERROR HY000: Can't create table `test`.`articles` (errno: 128 "Out of memory in engine")
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ ALTER TABLE articles STATS_PERSISTENT=DEFAULT;
+ DROP TABLE articles;
+ CREATE TABLE t (a INT, b TEXT) engine=innodb;
+ SET debug_dbug='+d,alter_table_rollback_new_index';
+-ALTER TABLE t ADD FULLTEXT INDEX (b(64));
+-ERROR HY000: Unknown error
++ALTER TABLE t ADD FULLTEXT INDEX (b(64)), ALGORITHM=INPLACE;
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ DROP TABLE t;
+ CREATE TABLE t1 (pk INT, a VARCHAR(8), PRIMARY KEY(pk),
+@@ -28,32 +28,6 @@
+ DROP TABLE t2, t1;
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ #
+-# MDEV-25200 Index count mismatch due to aborted FULLTEXT INDEX
+-#
+-CREATE TABLE t1(a INT, b TEXT, c TEXT, FULLTEXT INDEX(b)) ENGINE=InnoDB;
+-INSERT INTO t1 VALUES(1, "test", "test_1");
+-connect con1,localhost,root,,test;
+-SET DEBUG_DBUG="+d,innodb_OOM_inplace_alter";
+-SET DEBUG_SYNC='innodb_commit_inplace_alter_table_enter SIGNAL s2 WAIT_FOR g2';
+-ALTER TABLE t1 ADD FULLTEXT(c);
+-connection default;
+-SET DEBUG_SYNC='now WAIT_FOR s2';
+-START TRANSACTION;
+-SELECT * FROM t1;
+-a b c
+-1 test test_1
+-SET DEBUG_SYNC='now SIGNAL g2';
+-connection con1;
+-ERROR HY000: Out of memory.
+-disconnect con1;
+-connection default;
+-SET DEBUG_SYNC=RESET;
+-ALTER TABLE t1 ADD bl INT AS (LENGTH(b)) VIRTUAL;
+-CHECK TABLE t1;
+-Table Op Msg_type Msg_text
+-test.t1 check status OK
+-DROP TABLE t1;
+-#
+ # MDEV-25663 Double free of transaction during TRUNCATE
+ #
+ call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
+@@ -65,12 +39,3 @@
+ SET debug_dbug=@saved_debug_dbug;
+ DROP TABLE t1;
+ # End of 10.3 tests
+-CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(100))ENGINE=InnoDB;
+-SET DEBUG_DBUG="+d,stats_lock_fail";
+-ALTER TABLE t1 ADD FULLTEXT(f2);
+-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+-SET debug_dbug=@saved_debug_dbug;
+-ALTER TABLE t1 DISCARD TABLESPACE;
+-ALTER TABLE t1 ADD FULLTEXT(f2);
+-ERROR HY000: Tablespace has been discarded for table `t1`
+-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/misc_debug,vers_trx.rdiff b/mysql-test/suite/innodb_fts/r/misc_debug,vers_trx.rdiff
new file mode 100644
index 00000000..69294a5a
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/misc_debug,vers_trx.rdiff
@@ -0,0 +1,66 @@
+--- misc_debug.result
++++ misc_debug.reject
+@@ -7,14 +7,14 @@
+ SET @saved_debug_dbug = @@SESSION.debug_dbug;
+ SET SESSION debug_dbug="+d,ib_dict_create_index_tree_fail";
+ CREATE FULLTEXT INDEX idx ON articles(body);
+-ERROR HY000: Out of memory.
++ERROR HY000: Can't create table `test`.`articles` (errno: 128 "Out of memory in engine")
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ ALTER TABLE articles STATS_PERSISTENT=DEFAULT;
+ DROP TABLE articles;
+ CREATE TABLE t (a INT, b TEXT) engine=innodb;
+ SET debug_dbug='+d,alter_table_rollback_new_index';
+-ALTER TABLE t ADD FULLTEXT INDEX (b(64));
+-ERROR HY000: Unknown error
++ALTER TABLE t ADD FULLTEXT INDEX (b(64)), ALGORITHM=INPLACE;
++ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Not implemented for system-versioned operations. Try ALGORITHM=COPY
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ DROP TABLE t;
+ CREATE TABLE t1 (pk INT, a VARCHAR(8), PRIMARY KEY(pk),
+@@ -28,32 +28,6 @@
+ DROP TABLE t2, t1;
+ SET SESSION debug_dbug=@saved_debug_dbug;
+ #
+-# MDEV-25200 Index count mismatch due to aborted FULLTEXT INDEX
+-#
+-CREATE TABLE t1(a INT, b TEXT, c TEXT, FULLTEXT INDEX(b)) ENGINE=InnoDB;
+-INSERT INTO t1 VALUES(1, "test", "test_1");
+-connect con1,localhost,root,,test;
+-SET DEBUG_DBUG="+d,innodb_OOM_inplace_alter";
+-SET DEBUG_SYNC='innodb_commit_inplace_alter_table_enter SIGNAL s2 WAIT_FOR g2';
+-ALTER TABLE t1 ADD FULLTEXT(c);
+-connection default;
+-SET DEBUG_SYNC='now WAIT_FOR s2';
+-START TRANSACTION;
+-SELECT * FROM t1;
+-a b c
+-1 test test_1
+-SET DEBUG_SYNC='now SIGNAL g2';
+-connection con1;
+-ERROR HY000: Out of memory.
+-disconnect con1;
+-connection default;
+-SET DEBUG_SYNC=RESET;
+-ALTER TABLE t1 ADD bl INT AS (LENGTH(b)) VIRTUAL;
+-CHECK TABLE t1;
+-Table Op Msg_type Msg_text
+-test.t1 check status OK
+-DROP TABLE t1;
+-#
+ # MDEV-25663 Double free of transaction during TRUNCATE
+ #
+ call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
+@@ -65,12 +39,3 @@
+ SET debug_dbug=@saved_debug_dbug;
+ DROP TABLE t1;
+ # End of 10.3 tests
+-CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(100))ENGINE=InnoDB;
+-SET DEBUG_DBUG="+d,stats_lock_fail";
+-ALTER TABLE t1 ADD FULLTEXT(f2);
+-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+-SET debug_dbug=@saved_debug_dbug;
+-ALTER TABLE t1 DISCARD TABLESPACE;
+-ALTER TABLE t1 ADD FULLTEXT(f2);
+-ERROR HY000: Tablespace has been discarded for table `t1`
+-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/sync_ddl,vers.rdiff b/mysql-test/suite/innodb_fts/r/sync_ddl,vers.rdiff
new file mode 100644
index 00000000..7834e04c
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/sync_ddl,vers.rdiff
@@ -0,0 +1,12 @@
+--- sync_ddl.result
++++ sync_ddl.reject
+@@ -100,7 +100,7 @@
+ ADD COLUMN id2 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ DROP INDEX idx1,
+ ADD FULLTEXT INDEX idx2(value);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 0
++affected rows: 2
++info: Records: 2 Duplicates: 0 Warnings: 0
+ DROP TABLE t1;
+ SET GLOBAL debug_dbug = @save_debug;
diff --git a/mysql-test/suite/innodb_fts/r/sync_ddl,vers_trx.rdiff b/mysql-test/suite/innodb_fts/r/sync_ddl,vers_trx.rdiff
new file mode 100644
index 00000000..7834e04c
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/sync_ddl,vers_trx.rdiff
@@ -0,0 +1,12 @@
+--- sync_ddl.result
++++ sync_ddl.reject
+@@ -100,7 +100,7 @@
+ ADD COLUMN id2 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ DROP INDEX idx1,
+ ADD FULLTEXT INDEX idx2(value);
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 0
++affected rows: 2
++info: Records: 2 Duplicates: 0 Warnings: 0
+ DROP TABLE t1;
+ SET GLOBAL debug_dbug = @save_debug;
diff --git a/mysql-test/suite/innodb_fts/r/sync_ddl.result b/mysql-test/suite/innodb_fts/r/sync_ddl.result
index 441954dc..5ebe1575 100644
--- a/mysql-test/suite/innodb_fts/r/sync_ddl.result
+++ b/mysql-test/suite/innodb_fts/r/sync_ddl.result
@@ -99,7 +99,8 @@ ALTER TABLE t1
DROP COLUMN id1,
ADD COLUMN id2 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DROP INDEX idx1,
-ADD FULLTEXT INDEX idx2(value),
-ALGORITHM=INPLACE;
+ADD FULLTEXT INDEX idx2(value);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
DROP TABLE t1;
SET GLOBAL debug_dbug = @save_debug;
diff --git a/mysql-test/suite/innodb_fts/t/create.test b/mysql-test/suite/innodb_fts/t/create.test
index e6a7e993..9d88c1ed 100644
--- a/mysql-test/suite/innodb_fts/t/create.test
+++ b/mysql-test/suite/innodb_fts/t/create.test
@@ -131,8 +131,14 @@ ENGINE=InnoDB;
CREATE TABLE t1(a INT PRIMARY KEY, b TEXT, FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
UNIQUE KEY FTS_DOC_ID_INDEX(FTS_DOC_ID DESC)) ENGINE=InnoDB;
SHOW CREATE TABLE t1;
+if ($MTR_COMBINATION_ORIG) {
--error ER_INNODB_FT_WRONG_DOCID_INDEX
ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=INPLACE;
+}
+if (!$MTR_COMBINATION_ORIG) {
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=INPLACE;
+}
--error ER_INNODB_FT_WRONG_DOCID_INDEX
ALTER TABLE t1 ADD FULLTEXT INDEX(b), ALGORITHM=COPY;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/foreign_key_update.test b/mysql-test/suite/innodb_fts/t/foreign_key_update.test
index 1f74e640..8a64ac33 100644
--- a/mysql-test/suite/innodb_fts/t/foreign_key_update.test
+++ b/mysql-test/suite/innodb_fts/t/foreign_key_update.test
@@ -32,3 +32,16 @@ SELECT * FROM t1_fk WHERE MATCH(a) AGAINST('database');
DROP TABLE t1_fk;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-32346 Assertion failure sym_node->table != NULL
+--echo # in pars_retrieve_table_def on UPDATE
+--echo #
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT, b TEXT, FOREIGN KEY(a) REFERENCES t1(a),
+ FULLTEXT (b))ENGINE=InnoDB;
+INSERT INTO t1 SET a=1;
+ALTER TABLE t2 DISCARD TABLESPACE;
+--error ER_ROW_IS_REFERENCED_2
+UPDATE t1 SET a=2;
+DROP TABLE t2,t1;
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
index cef8df2d..11d2d493 100644
--- a/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
@@ -20,11 +20,20 @@ INSERT INTO fts_test (title,body) VALUES
('MySQL Security','When configured properly, MySQL ...');
# Table does rebuild when fts index builds for the first time
+# Create the FTS index
+
+if ($MTR_COMBINATION_ORIG) {
--error ER_ALTER_OPERATION_NOT_SUPPORTED
ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
-
-# Create the FTS index
ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=INPLACE;
+}
+if (!$MTR_COMBINATION_ORIG) {
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
+--enable_info
+ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
+--disable_info
+}
# Select word "tutorial" in the table
SELECT * FROM fts_test WHERE MATCH (title, body)
@@ -43,7 +52,14 @@ INSERT INTO fts_test (title,body) VALUES
('MySQL Security','When configured properly, MySQL ...');
# FTS_DOC_ID hidden column and FTS_DOC_ID index exist
+if ($MTR_COMBINATION_ORIG) {
ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
+}
+if (!$MTR_COMBINATION_ORIG) {
+--enable_info
+ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
+--disable_info
+}
# Select word "tutorial" in the table
SELECT * FROM fts_test WHERE MATCH (title, body)
@@ -112,7 +128,14 @@ INSERT INTO fts_test (title,body) VALUES
# column already exists. This has not been implemented yet.
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
CREATE FULLTEXT INDEX idx on fts_test (title, body) LOCK=NONE;
+if ($MTR_COMBINATION_ORIG) {
ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body), ALGORITHM=NOCOPY;
+}
+if (!$MTR_COMBINATION_ORIG) {
+--enable_info
+ALTER TABLE fts_test ADD FULLTEXT `idx` (title, body);
+--disable_info
+}
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
@@ -349,8 +372,14 @@ let $fts_aux_file= `select concat('FTS_',right(concat(repeat('0',16), lower(hex(
write_file $MYSQLD_DATADIR/test/$fts_aux_file;
EOF
--replace_regex /".*" from/"Resource temporarily unavailable" from/
+if ($MTR_COMBINATION_ORIG) {
--error ER_GET_ERRNO
ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE;
+}
+if (!$MTR_COMBINATION_ORIG) {
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE;
+}
DROP TABLE t1;
remove_file $MYSQLD_DATADIR/test/$fts_aux_file;
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test b/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
index 2d94c213..05855106 100644
--- a/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
@@ -211,8 +211,13 @@ INSERT INTO wp (FTS_DOC_ID, title, text) VALUES
(1, 'MySQL Tutorial','DBMS stands for DataBase ...'),
(2, 'How To Use MySQL Well','After you went through a ...');
+if ($MTR_COMBINATION_ORIG) {
--error ER_INNODB_FT_WRONG_DOCID_COLUMN
CREATE FULLTEXT INDEX idx ON wp(title, text);
+}
+if (!$MTR_COMBINATION_ORIG) {
+CREATE FULLTEXT INDEX idx ON wp(title, text);
+}
DROP TABLE wp;
CREATE TABLE wp(
diff --git a/mysql-test/suite/innodb_fts/t/misc_debug.test b/mysql-test/suite/innodb_fts/t/misc_debug.test
index 08581768..8e4ec5d9 100644
--- a/mysql-test/suite/innodb_fts/t/misc_debug.test
+++ b/mysql-test/suite/innodb_fts/t/misc_debug.test
@@ -23,8 +23,14 @@ CREATE TABLE articles (
# The newly create dict_index_t should be removed from fts cache
SET @saved_debug_dbug = @@SESSION.debug_dbug;
SET SESSION debug_dbug="+d,ib_dict_create_index_tree_fail";
+if ($MTR_COMBINATION_ORIG) {
--error ER_OUT_OF_RESOURCES
CREATE FULLTEXT INDEX idx ON articles(body);
+}
+if (!$MTR_COMBINATION_ORIG) {
+--error ER_CANT_CREATE_TABLE
+CREATE FULLTEXT INDEX idx ON articles(body);
+}
SET SESSION debug_dbug=@saved_debug_dbug;
# This simply go through ha_innobase::commit_inplace_alter_table
@@ -37,8 +43,14 @@ DROP TABLE articles;
CREATE TABLE t (a INT, b TEXT) engine=innodb;
SET debug_dbug='+d,alter_table_rollback_new_index';
+if ($MTR_COMBINATION_ORIG) {
-- error ER_UNKNOWN_ERROR
ALTER TABLE t ADD FULLTEXT INDEX (b(64));
+}
+if (!$MTR_COMBINATION_ORIG) {
+-- error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t ADD FULLTEXT INDEX (b(64)), ALGORITHM=INPLACE;
+}
SET SESSION debug_dbug=@saved_debug_dbug;
DROP TABLE t;
@@ -57,6 +69,7 @@ ALTER TABLE t1 FORCE;
DROP TABLE t2, t1;
SET SESSION debug_dbug=@saved_debug_dbug;
+if ($MTR_COMBINATION_ORIG) {
--echo #
--echo # MDEV-25200 Index count mismatch due to aborted FULLTEXT INDEX
--echo #
@@ -82,6 +95,7 @@ ALTER TABLE t1 ADD bl INT AS (LENGTH(b)) VIRTUAL;
CHECK TABLE t1;
DROP TABLE t1;
--source include/wait_until_count_sessions.inc
+}
--echo #
--echo # MDEV-25663 Double free of transaction during TRUNCATE
@@ -104,6 +118,7 @@ SET debug_dbug=@saved_debug_dbug;
DROP TABLE t1;
--echo # End of 10.3 tests
+if ($MTR_COMBINATION_ORIG) {
# Fulltext fails in commit phase
CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(100))ENGINE=InnoDB;
@@ -115,3 +130,4 @@ ALTER TABLE t1 DISCARD TABLESPACE;
--error ER_TABLESPACE_DISCARDED
ALTER TABLE t1 ADD FULLTEXT(f2);
DROP TABLE t1;
+}
diff --git a/mysql-test/suite/innodb_fts/t/sync.test b/mysql-test/suite/innodb_fts/t/sync.test
index 168309a5..56b9052a 100644
--- a/mysql-test/suite/innodb_fts/t/sync.test
+++ b/mysql-test/suite/innodb_fts/t/sync.test
@@ -115,7 +115,7 @@ CREATE TABLE t1 (
INSERT INTO t1(title) VALUES('database');
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET debug_dbug = '+d,fts_instrument_sync_debug,fts_write_node_crash';
diff --git a/mysql-test/suite/innodb_fts/t/sync_ddl.test b/mysql-test/suite/innodb_fts/t/sync_ddl.test
index 6a16ecec..9a0451e9 100644
--- a/mysql-test/suite/innodb_fts/t/sync_ddl.test
+++ b/mysql-test/suite/innodb_fts/t/sync_ddl.test
@@ -182,12 +182,13 @@ INSERT INTO t1 (value) VALUES
('collation of latin1_bin to make it case sensitive')
;
+--enable_info
ALTER TABLE t1
DROP COLUMN id1,
ADD COLUMN id2 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DROP INDEX idx1,
- ADD FULLTEXT INDEX idx2(value),
- ALGORITHM=INPLACE;
+ ADD FULLTEXT INDEX idx2(value);
+--disable_info
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_gis/t/rollback.test b/mysql-test/suite/innodb_gis/t/rollback.test
index fcfe71e2..a0998669 100644
--- a/mysql-test/suite/innodb_gis/t/rollback.test
+++ b/mysql-test/suite/innodb_gis/t/rollback.test
@@ -463,7 +463,7 @@ rollback;
# Test partial update rollback after recovered.
# Crash the server in partial update.
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
set session debug="+d,row_mysql_crash_if_error";
--error 2013
update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
diff --git a/mysql-test/suite/innodb_zip/t/innochecksum_2.test b/mysql-test/suite/innodb_zip/t/innochecksum_2.test
index 62e792c1..57926d92 100644
--- a/mysql-test/suite/innodb_zip/t/innochecksum_2.test
+++ b/mysql-test/suite/innodb_zip/t/innochecksum_2.test
@@ -9,11 +9,6 @@
--source include/not_embedded.inc
-- source include/big_test.inc
---disable_query_log
-# This warning occurs due to small buffer pool size(i.e. 8MB). It doesn't occur
-# with --mysqld=--innodb_buffer_pool_size=10MB
-call mtr.add_suppression("\\[Warning\\] InnoDB: Difficult to find free blocks in the buffer pool.*");
---enable_query_log
let MYSQLD_BASEDIR= `SELECT @@basedir`;
let MYSQLD_DATADIR= `SELECT @@datadir`;
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
diff --git a/mysql-test/suite/innodb_zip/t/restart.test b/mysql-test/suite/innodb_zip/t/restart.test
index c442b919..0c8073b8 100644
--- a/mysql-test/suite/innodb_zip/t/restart.test
+++ b/mysql-test/suite/innodb_zip/t/restart.test
@@ -412,13 +412,13 @@ SHOW CREATE TABLE t77_restart;
--echo # Moving tablespace 't4_restart' from MYSQL_DATA_DIR to MYSQL_TMP_DIR/new_dir
--copy_file $MYSQL_DATA_DIR/test/t4_restart.ibd $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd
--remove_file $MYSQL_DATA_DIR/test/t4_restart.ibd
---exec echo $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd > $MYSQL_DATA_DIR/test/t4_restart.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd $MYSQL_DATA_DIR/test/t4_restart.isl
--echo # Moving tablespace 't55_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
--remove_file $MYSQL_DATA_DIR/test/t55_restart.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd > $MYSQL_DATA_DIR/test/t55_restart.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd $MYSQL_DATA_DIR/test/t55_restart.isl
--echo # Moving tablespace 't66_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t66_restart#P#p0.ibd $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd
@@ -430,9 +430,9 @@ SHOW CREATE TABLE t77_restart;
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p1.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p2.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p1.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p2.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
--echo # Moving tablespace 't77_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t77_restart#P#p0#SP#s0.ibd $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd
@@ -447,10 +447,10 @@ SHOW CREATE TABLE t77_restart;
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s0.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s1.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s2.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
---exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s3.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s0.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s1.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s2.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
+--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s3.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
diff --git a/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
index 36dcd1e4..47b53b71 100644
--- a/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
+++ b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
@@ -75,7 +75,7 @@ SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
SELECT * FROM t1;
# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Execute the statement that causes the crash
--error 2013
@@ -96,7 +96,7 @@ SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
SELECT COUNT(*) FROM t1;
# Don't start up the server right away.
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Execute the statement that causes the crash
--error 2013
@@ -113,7 +113,7 @@ EOF
--echo # Restart and reconnect to the server
--enable_reconnect
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
diff --git a/mysql-test/suite/json/r/json_no_table.result b/mysql-test/suite/json/r/json_no_table.result
index 375b29d5..df8ce6f6 100644
--- a/mysql-test/suite/json/r/json_no_table.result
+++ b/mysql-test/suite/json/r/json_no_table.result
@@ -1002,19 +1002,27 @@ DOUBLE
error ER_INVALID_JSON_TEXT_IN_PARAM
select json_type(CAST(CAST('2015-01-15' AS DATE) as CHAR CHARACTER SET 'utf8'));
json_type(CAST(CAST('2015-01-15' AS DATE) as CHAR CHARACTER SET 'utf8'))
-INTEGER
+NULL
+Warnings:
+Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
# ----------------------------------------------------------------------
# Test of json_compact(literal)
# ----------------------------------------------------------------------
select json_type(json_compact(cast('2014-11-25 18:00' as datetime)));
json_type(json_compact(cast('2014-11-25 18:00' as datetime)))
-INTEGER
+NULL
+Warnings:
+Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
select json_type(json_compact(cast('2014-11-25' as date)));
json_type(json_compact(cast('2014-11-25' as date)))
-INTEGER
+NULL
+Warnings:
+Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
select json_type(json_compact(cast('18:00:59' as time)));
json_type(json_compact(cast('18:00:59' as time)))
-INTEGER
+NULL
+Warnings:
+Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 3
select json_type(json_compact(127));
json_type(json_compact(127))
INTEGER
@@ -1064,7 +1072,9 @@ json_type(json_compact(3.14E30))
DOUBLE
select json_type(json_compact(cast('10101abcde' as binary)));
json_type(json_compact(cast('10101abcde' as binary)))
-INTEGER
+NULL
+Warnings:
+Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 6
select json_type(json_compact(ST_GeomFromText('POINT(1 1)')));
json_type(json_compact(ST_GeomFromText('POINT(1 1)')))
NULL
diff --git a/mysql-test/suite/json/r/type_json.result b/mysql-test/suite/json/r/type_json.result
index 333e933e..44e14978 100644
--- a/mysql-test/suite/json/r/type_json.result
+++ b/mysql-test/suite/json/r/type_json.result
@@ -2880,5 +2880,13 @@ DROP PROCEDURE p1;
DROP PROCEDURE p2;
DROP TABLE t1, t1c, t2;
#
+# MDEV-30646 View created via JSON_ARRAYAGG returns incorrect json object
+#
+CREATE VIEW v1 AS SELECT JSON_OBJECT('plugin','unix_socket') as v1_json;
+SELECT JSON_ARRAYAGG(v1_json) FROM v1;
+JSON_ARRAYAGG(v1_json)
+[{"plugin": "unix_socket"}]
+DROP VIEW v1;
+#
# End of 10.5 tests
#
diff --git a/mysql-test/suite/json/t/type_json.test b/mysql-test/suite/json/t/type_json.test
index f84bef78..03236070 100644
--- a/mysql-test/suite/json/t/type_json.test
+++ b/mysql-test/suite/json/t/type_json.test
@@ -139,5 +139,14 @@ DROP PROCEDURE p2;
DROP TABLE t1, t1c, t2;
--echo #
+--echo # MDEV-30646 View created via JSON_ARRAYAGG returns incorrect json object
+--echo #
+
+CREATE VIEW v1 AS SELECT JSON_OBJECT('plugin','unix_socket') as v1_json;
+SELECT JSON_ARRAYAGG(v1_json) FROM v1;
+DROP VIEW v1;
+
+
+--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/suite/large_tests/r/maria_recover_encrypted.result b/mysql-test/suite/large_tests/r/maria_recover_encrypted.result
index a7293d45..fb7f1ef1 100644
--- a/mysql-test/suite/large_tests/r/maria_recover_encrypted.result
+++ b/mysql-test/suite/large_tests/r/maria_recover_encrypted.result
@@ -36,7 +36,7 @@ CALL proc_insert_many();
UNLOCK TABLES;
SET debug_dbug="d,crash_shutdown";
shutdown;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
SELECT * FROM t1 ORDER BY 1 DESC LIMIT 10;
field1 field2 field3
1069999 2069999 3069999
diff --git a/mysql-test/suite/large_tests/t/maria_recover_encrypted.test b/mysql-test/suite/large_tests/t/maria_recover_encrypted.test
index 4c590e5e..1064c2c0 100644
--- a/mysql-test/suite/large_tests/t/maria_recover_encrypted.test
+++ b/mysql-test/suite/large_tests/t/maria_recover_encrypted.test
@@ -3,6 +3,8 @@
--source include/have_maria.inc
--source include/default_charset.inc
+--source include/not_embedded.inc
+--source include/have_debug.inc
# Cleanup
--disable_warnings
@@ -13,7 +15,7 @@ DROP PROCEDURE IF EXISTS proc_insert_many;
# --------
# Configure encryption
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
@@ -21,7 +23,7 @@ DROP PROCEDURE IF EXISTS proc_insert_many;
1;76025E3ADC78D74819927DB02AAA4C35
EOF
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
@@ -73,7 +75,7 @@ CALL proc_insert_many();
UNLOCK TABLES;
# Crash and restart the server while it's still flushing index
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
SET debug_dbug="d,crash_shutdown";
--error 2013
shutdown;
diff --git a/mysql-test/suite/maria/alter.result b/mysql-test/suite/maria/alter.result
index cc035426..17164343 100644
--- a/mysql-test/suite/maria/alter.result
+++ b/mysql-test/suite/maria/alter.result
@@ -193,3 +193,29 @@ ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1, 'Nine chars or more');
ALTER TABLE t1 ENABLE KEYS;
DROP TABLE t1;
+#
+# MDEV-25923 Memory not freed or Assertion `old_flags == ((my_flags &
+# 0x10000U) ? 1 : 0)' failed in my_realloc upon ALTER on Aria table
+# with GIS column
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY, a POINT DEFAULT ST_GEOMFROMTEXT('Point(1 1)')) ENGINE=Aria;
+INSERT INTO t1 (pk) SELECT seq FROM seq_1_to_100;
+SET @old_threads= @@SESSION.aria_repair_threads;
+SET SESSION aria_repair_threads= 2;
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+DROP TABLE t1;
+#
+# MDEV-33562: Assertion `(old_flags & 1) == ((my_flags & 0x10000U) ?
+# 1 : 0)' failed in my_realloc from sort_get_next_record on INSERT
+#
+SET @old_mode= @@SESSION.sql_mode;
+SET sql_mode='';
+CREATE TEMPORARY TABLE t (b TEXT, INDEX s(b(300))) ROW_FORMAT=DYNAMIC ENGINE=Aria;
+INSERT INTO t VALUES (REPEAT ('a',10000000));
+Warnings:
+Warning 1265 Data truncated for column 'b' at row 1
+CREATE TABLE ti LIKE t;
+INSERT INTO ti SELECT * FROM t;
+DROP TABLE t, ti;
+SET SESSION aria_repair_threads= @old_threads;
+SET SESSION sql_mode= @old_mode;
diff --git a/mysql-test/suite/maria/alter.test b/mysql-test/suite/maria/alter.test
index 525cd80f..a68b5f2e 100644
--- a/mysql-test/suite/maria/alter.test
+++ b/mysql-test/suite/maria/alter.test
@@ -203,3 +203,31 @@ ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1, 'Nine chars or more');
ALTER TABLE t1 ENABLE KEYS;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25923 Memory not freed or Assertion `old_flags == ((my_flags &
+--echo # 0x10000U) ? 1 : 0)' failed in my_realloc upon ALTER on Aria table
+--echo # with GIS column
+--echo #
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, a POINT DEFAULT ST_GEOMFROMTEXT('Point(1 1)')) ENGINE=Aria;
+INSERT INTO t1 (pk) SELECT seq FROM seq_1_to_100;
+SET @old_threads= @@SESSION.aria_repair_threads;
+SET SESSION aria_repair_threads= 2;
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-33562: Assertion `(old_flags & 1) == ((my_flags & 0x10000U) ?
+--echo # 1 : 0)' failed in my_realloc from sort_get_next_record on INSERT
+--echo #
+
+SET @old_mode= @@SESSION.sql_mode;
+SET sql_mode='';
+CREATE TEMPORARY TABLE t (b TEXT, INDEX s(b(300))) ROW_FORMAT=DYNAMIC ENGINE=Aria;
+INSERT INTO t VALUES (REPEAT ('a',10000000));
+CREATE TABLE ti LIKE t;
+INSERT INTO ti SELECT * FROM t;
+DROP TABLE t, ti;
+SET SESSION aria_repair_threads= @old_threads;
+SET SESSION sql_mode= @old_mode;
diff --git a/mysql-test/suite/maria/bulk_insert_crash.test b/mysql-test/suite/maria/bulk_insert_crash.test
index d9167c3f..04f3a148 100644
--- a/mysql-test/suite/maria/bulk_insert_crash.test
+++ b/mysql-test/suite/maria/bulk_insert_crash.test
@@ -12,7 +12,7 @@
#
# Write file to make mysql-test-run.pl expect crash and restart
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
create table t1 (a int primary key, b int, c int, unique key(b), key(c)) engine=aria transactional=1;
insert into t1 values (1000,1000,1000);
diff --git a/mysql-test/suite/maria/encrypt-no-key.test b/mysql-test/suite/maria/encrypt-no-key.test
index 45744122..e1d67409 100644
--- a/mysql-test/suite/maria/encrypt-no-key.test
+++ b/mysql-test/suite/maria/encrypt-no-key.test
@@ -29,10 +29,10 @@ CREATE TABLE t1 (a INT KEY,b INT,KEY(b)) ENGINE=Aria;
--echo # Restart with encryption enabled
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
@@ -43,10 +43,10 @@ LOAD INDEX INTO CACHE t1;
# Restart without encryption. Above table should be unreadable
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
---exec echo "restart:--aria-encrypt-tables=0" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=0" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/maria/encrypt-wrong-key.test b/mysql-test/suite/maria/encrypt-wrong-key.test
index ac060c4e..274a165c 100644
--- a/mysql-test/suite/maria/encrypt-wrong-key.test
+++ b/mysql-test/suite/maria/encrypt-wrong-key.test
@@ -9,7 +9,7 @@ call mtr.add_suppression("System key id 1 is missing");
call mtr.add_suppression("Unknown key id 1");
call mtr.add_suppression("Initialization of encryption failed.*");
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
@@ -17,14 +17,14 @@ call mtr.add_suppression("Initialization of encryption failed.*");
1;770A8A65DA156D24EE2A093277530142
EOF
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
CREATE TABLE t1 (i INT, KEY(i)) ENGINE=Aria;
INSERT INTO t1 VALUES (1);
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
@@ -32,7 +32,7 @@ INSERT INTO t1 VALUES (1);
2;770A8A65DA156D24EE2A093277530143
EOF
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
@@ -43,11 +43,11 @@ repair table t1;
--error HA_ERR_NO_ENCRYPTION
INSERT INTO t1 VALUES (2);
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server
--source include/wait_until_disconnected.inc
---exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/maria/ps_maria.result b/mysql-test/suite/maria/ps_maria.result
index 5c128a32..3f806c43 100644
--- a/mysql-test/suite/maria/ps_maria.result
+++ b/mysql-test/suite/maria/ps_maria.result
@@ -1798,7 +1798,7 @@ t5 CREATE TABLE `t5` (
`param09` longtext DEFAULT NULL,
`const10` bigint(17) DEFAULT NULL,
`param10` bigint(20) DEFAULT NULL,
- `const11` int(4) DEFAULT NULL,
+ `const11` int(5) DEFAULT NULL,
`param11` bigint(20) DEFAULT NULL,
`const12` binary(0) DEFAULT NULL,
`param12` bigint(20) DEFAULT NULL,
@@ -1828,7 +1828,7 @@ def test t5 t5 const09 const09 12 19 19 Y 128 0 63
def test t5 t5 param09 param09 252 4294967295 19 Y 16 0 8
def test t5 t5 const10 const10 8 17 9 Y 32768 0 63
def test t5 t5 param10 param10 8 20 9 Y 32768 0 63
-def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
+def test t5 t5 const11 const11 3 5 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
diff --git a/mysql-test/suite/maria/repair.result b/mysql-test/suite/maria/repair.result
index 458b5503..7905cb02 100644
--- a/mysql-test/suite/maria/repair.result
+++ b/mysql-test/suite/maria/repair.result
@@ -62,3 +62,26 @@ SET SESSION aria_sort_buffer_size=default;
#
# End of 10.3 tests
#
+#
+# MDEV-34055 Assertion `readbytes != (size_t)-1 ||
+# (*__errno_location ()) != 9' failure or corruption errors upon
+# REPAIR on Aria tables
+#
+CREATE OR REPLACE TABLE t1 (a INT, b INT, UNIQUE(b), UNIQUE(a)) ENGINE=Aria;
+INSERT INTO t1 VALUES (1,2);
+REPAIR TABLE t1 EXTENDED QUICK USE_FRM;
+Table Op Msg_type Msg_text
+test.t1 repair warning Number of rows changed from 0 to 1
+test.t1 repair status OK
+CREATE TABLE t2 (c INT) ENGINE=Aria;
+SELECT * FROM t2;
+c
+REPLACE INTO t1 VALUES (1,3);
+REPAIR TABLE t2, t1 QUICK;
+Table Op Msg_type Msg_text
+test.t2 repair status OK
+test.t1 repair status OK
+DROP TABLE t1, t2;
+#
+# End of 10.5 tests
+#
diff --git a/mysql-test/suite/maria/repair.test b/mysql-test/suite/maria/repair.test
index 688ac076..08234a5a 100644
--- a/mysql-test/suite/maria/repair.test
+++ b/mysql-test/suite/maria/repair.test
@@ -74,3 +74,22 @@ SET SESSION aria_sort_buffer_size=default;
--echo #
--echo # End of 10.3 tests
--echo #
+
+--echo #
+--echo # MDEV-34055 Assertion `readbytes != (size_t)-1 ||
+--echo # (*__errno_location ()) != 9' failure or corruption errors upon
+--echo # REPAIR on Aria tables
+--echo #
+
+CREATE OR REPLACE TABLE t1 (a INT, b INT, UNIQUE(b), UNIQUE(a)) ENGINE=Aria;
+INSERT INTO t1 VALUES (1,2);
+REPAIR TABLE t1 EXTENDED QUICK USE_FRM;
+CREATE TABLE t2 (c INT) ENGINE=Aria;
+SELECT * FROM t2;
+REPLACE INTO t1 VALUES (1,3);
+REPAIR TABLE t2, t1 QUICK;
+DROP TABLE t1, t2;
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
diff --git a/mysql-test/suite/mariabackup/absolute_ibdata_paths.test b/mysql-test/suite/mariabackup/absolute_ibdata_paths.test
index fa304f0b..f4d0e2a5 100644
--- a/mysql-test/suite/mariabackup/absolute_ibdata_paths.test
+++ b/mysql-test/suite/mariabackup/absolute_ibdata_paths.test
@@ -30,7 +30,7 @@ let $_innodb_data_file_path=`select @@innodb_data_file_path`;
let $_innodb_data_home_dir=`select @@innodb_data_home_dir`;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
exec $XTRABACKUP --prepare --target-dir=$targetdir;
diff --git a/mysql-test/suite/mariabackup/alter_copy_race.result b/mysql-test/suite/mariabackup/alter_copy_race.result
index 82202249..ae58ac28 100644
--- a/mysql-test/suite/mariabackup/alter_copy_race.result
+++ b/mysql-test/suite/mariabackup/alter_copy_race.result
@@ -4,7 +4,7 @@ INSERT into t1 values(1);
connect con2, localhost, root,,;
connection con2;
set lock_wait_timeout=1;
-SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit';
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_ddl';
SET debug_sync='alter_table_after_temp_table_drop SIGNAL temp_table_dropped';
SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 FORCE, algorithm=COPY;|
connection default;
diff --git a/mysql-test/suite/mariabackup/alter_copy_race.test b/mysql-test/suite/mariabackup/alter_copy_race.test
index 553643bf..cfabd76c 100644
--- a/mysql-test/suite/mariabackup/alter_copy_race.test
+++ b/mysql-test/suite/mariabackup/alter_copy_race.test
@@ -18,7 +18,7 @@ INSERT into t1 values(1);
connect con2, localhost, root,,;
connection con2;
set lock_wait_timeout=1;
-SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit';
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_ddl';
SET debug_sync='alter_table_after_temp_table_drop SIGNAL temp_table_dropped';
DELIMITER |;
send SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 FORCE, algorithm=COPY;|
@@ -27,7 +27,7 @@ connection default;
# setup mariabackup events
let after_backup_stage_start=SET debug_sync='now SIGNAL after_backup_stage_start WAIT_FOR go';
-let after_backup_stage_block_commit=SET debug_sync='now SIGNAL after_backup_stage_block_commit';
+let after_backup_stage_block_ddl=SET debug_sync='now SIGNAL after_backup_stage_block_ddl';
let backup_fix_ddl=SET debug_sync='now WAIT_FOR temp_table_dropped';
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
diff --git a/mysql-test/suite/mariabackup/apply-log-only-incr.test b/mysql-test/suite/mariabackup/apply-log-only-incr.test
index 01b74af2..1da2be09 100644
--- a/mysql-test/suite/mariabackup/apply-log-only-incr.test
+++ b/mysql-test/suite/mariabackup/apply-log-only-incr.test
@@ -19,7 +19,7 @@ dec $n;
}
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
let $n=100;
while ($n) {
@@ -36,7 +36,7 @@ disconnect flush_log;
connection default;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --ftwrl-wait-timeout=5 --ftwrl-wait-threshold=300 --ftwrl-wait-query-type=all --target-dir=$incremental_dir --incremental-basedir=$basedir ;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --ftwrl-wait-timeout=5 --ftwrl-wait-threshold=300 --ftwrl-wait-query-type=all --target-dir=$incremental_dir --incremental-basedir=$basedir ;
exec $XTRABACKUP --prepare --verbose --target-dir=$basedir ;
--enable_result_log
diff --git a/mysql-test/suite/mariabackup/apply-log-only.test b/mysql-test/suite/mariabackup/apply-log-only.test
index 7ffed071..dbae77b7 100644
--- a/mysql-test/suite/mariabackup/apply-log-only.test
+++ b/mysql-test/suite/mariabackup/apply-log-only.test
@@ -8,7 +8,7 @@ start transaction;
INSERT INTO t VALUES(1);
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
exec $XTRABACKUP --prepare --target-dir=$basedir ;
diff --git a/mysql-test/suite/mariabackup/aria_backup.opt b/mysql-test/suite/mariabackup/aria_backup.opt
new file mode 100644
index 00000000..3565e3f1
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_backup.opt
@@ -0,0 +1 @@
+--loose-partition --loose-aria-log-file-size=8388608
diff --git a/mysql-test/suite/mariabackup/aria_backup.result b/mysql-test/suite/mariabackup/aria_backup.result
new file mode 100644
index 00000000..e8c73f0a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_backup.result
@@ -0,0 +1,780 @@
+###
+# Test for backup to stream
+#####
+###
+# Test for mix of online/offline backup tables
+#####
+CREATE TABLE t_default(i INT PRIMARY KEY)
+ENGINE ARIA;
+INSERT INTO t_default VALUES (1);
+CREATE TABLE t_tr_p_ch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_tr_p_ch VALUES (1);
+CREATE TABLE t_tr_p_nch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_tr_p_nch VALUES (1);
+CREATE TABLE t_p_ch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_p_ch VALUES (1);
+CREATE TABLE t_p_nch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_p_nch VALUES (1);
+CREATE TABLE t_fixed(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=FIXED PAGE_CHECKSUM=1;
+INSERT INTO t_fixed VALUES (1);
+CREATE TABLE t_dyn(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=DYNAMIC PAGE_CHECKSUM=1;
+INSERT INTO t_dyn VALUES (1);
+# Test for partitioned table
+CREATE TABLE t_part_online(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO t_part_online VALUES(5);
+INSERT INTO t_part_online VALUES(15);
+INSERT INTO t_part_online VALUES(25);
+SELECT * FROM t_part_online;
+i
+5
+15
+25
+CREATE TABLE t_part_offline(i INT)
+ENGINE ARIA TRANSACTIONAL = 0 PAGE_CHECKSUM = 0
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO t_part_offline VALUES(5);
+INSERT INTO t_part_offline VALUES(15);
+INSERT INTO t_part_offline VALUES(25);
+# Test for filename to tablename mapping
+CREATE TABLE `t 1 t-1`(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO `t 1 t-1` VALUES (1);
+CREATE TABLE `t-part online`(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO `t-part online` VALUES(5);
+INSERT INTO `t-part online` VALUES(15);
+INSERT INTO `t-part online` VALUES(25);
+###
+# Test for redo log files backup;
+#####
+CREATE TABLE t_logs_1(i INT)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+CREATE TABLE t_logs_2 LIKE t_logs_1;
+CREATE TABLE t_bulk_ins LIKE t_logs_1;
+INSERT INTO t_logs_1 VALUES
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+# Generate several log files
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+###
+# Test for DML during backup for online backup
+#####
+CREATE TABLE t_dml_ins(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_ins VALUES(1);
+CREATE TABLE t_dml_upd(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_upd VALUES(1);
+CREATE TABLE t_dml_del(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_del VALUES(1);
+###
+# Test for DDL during backup for online backup
+#####
+CREATE DATABASE test_for_db_drop;
+CREATE TABLE test_for_db_drop.t(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_db_create(i INT PRIMARY KEY) ENGINE ARIA;
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+sys
+test
+test_for_db_drop
+CREATE TABLE t_alter(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_alter VALUES (1);
+CREATE TABLE t_trunc(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_trunc VALUES (1);
+CREATE TABLE t_ch_i (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t_ch_i VALUES(1);
+CREATE TABLE t_change_engine(i INT PRIMARY KEY) ENGINE InnoDB;
+INSERT INTO t_change_engine VALUES (1);
+CREATE TABLE t_rename(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE DATABASE test_for_rename;
+CREATE TABLE t_rename_2(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_3(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_4(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_delete(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_delete_2(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_alter(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_create(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_create(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_add_part(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_change_eng(i INT PRIMARY KEY) ENGINE ARIA PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_change_eng_2(i INT PRIMARY KEY) ENGINE InnoDB PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_change_eng_3(i INT PRIMARY KEY) ENGINE Aria;
+CREATE TABLE t_part_alter(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_alter_2(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 3;
+CREATE TABLE t_part_drop(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rename(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rename_3(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rm_part(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+SET SESSION debug_dbug="+d,maria_flush_whole_log";
+SET GLOBAL aria_checkpoint_interval=10000;
+### Backup to stream
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+### Result for DDL test
+SHOW CREATE TABLE t_alter;
+Table Create Table
+t_alter CREATE TABLE `t_alter` (
+ `i` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_alter;
+i c
+1 NULL
+SHOW CREATE TABLE t_change_engine;
+Table Create Table
+t_change_engine CREATE TABLE `t_change_engine` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_change_engine;
+i
+1
+SELECT * FROM t_trunc;
+i
+1
+SELECT * FROM t_ch_i;
+i
+1
+SELECT * FROM t_rename_new;
+i
+SELECT * FROM test_for_rename.t_rename_new_2;
+i
+SELECT * FROM t_rename_new_new_3;
+i
+SELECT * FROM t_rename_new_4;
+i
+SELECT * FROM t_delete;
+ERROR 42S02: Table 'test.t_delete' doesn't exist
+SHOW CREATE TABLE t_delete_2;
+Table Create Table
+t_delete_2 CREATE TABLE `t_delete_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_rename_alter_2;
+i c
+SELECT * FROM t_rename_create;
+d
+SELECT * FROM t_rename_create_new;
+i
+SHOW CREATE TABLE t_part_create_2;
+Table Create Table
+t_part_create_2 CREATE TABLE `t_part_create_2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_create_2;
+i
+SHOW CREATE TABLE t_part_add_part;
+Table Create Table
+t_part_add_part CREATE TABLE `t_part_add_part` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_add_part;
+i
+SHOW CREATE TABLE t_part_change_eng;
+Table Create Table
+t_part_change_eng CREATE TABLE `t_part_change_eng` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_change_eng;
+i
+SHOW CREATE TABLE t_part_change_eng_2;
+Table Create Table
+t_part_change_eng_2 CREATE TABLE `t_part_change_eng_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_change_eng_2;
+i
+SELECT * FROM t_part_alter;
+i c
+SHOW CREATE TABLE t_part_alter_2;
+Table Create Table
+t_part_alter_2 CREATE TABLE `t_part_alter_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_alter_2;
+i
+SELECT * FROM t_part_drop;
+ERROR 42S02: Table 'test.t_part_drop' doesn't exist
+SELECT * FROM t_part_rename;
+ERROR 42S02: Table 'test.t_part_rename' doesn't exist
+SELECT * FROM t_part_rename_2;
+i
+SELECT * FROM t_part_rename_3;
+ERROR 42S02: Table 'test.t_part_rename_3' doesn't exist
+SELECT * FROM test_for_rename.t_part_rename_4;
+i
+SHOW CREATE TABLE t_part_rm_part;
+Table Create Table
+t_part_rm_part CREATE TABLE `t_part_rm_part` (
+ `i` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_part_rm_part;
+i c
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+sys
+test
+test_for_db_create
+test_for_rename
+### Clean up for DDL test
+DROP DATABASE test_for_db_create;
+DROP TABLE t_db_create;
+DROP TABLE t_change_engine;
+DROP TABLE t_alter;
+DROP TABLE t_trunc;
+DROP TABLE t_ch_i;
+DROP TABLE t_rename_new;
+DROP TABLE t_rename_new_new_3;
+DROP TABLE t_rename_new_4;
+DROP TABLE t_delete_2;
+DROP TABLE t_rename_alter_2;
+DROP TABLE t_rename_create;
+DROP TABLE t_rename_create_new;
+DROP TABLE t_part_create;
+DROP TABLE t_part_create_2;
+DROP TABLE t_part_add_part;
+DROP TABLE t_part_change_eng;
+DROP TABLE t_part_change_eng_2;
+DROP TABLE t_part_change_eng_3;
+DROP TABLE t_part_alter;
+DROP TABLE t_part_alter_2;
+DROP TABLE t_part_rename_2;
+DROP TABLE t_part_rm_part;
+DROP DATABASE test_for_rename;
+### Result for DML test
+SELECT * FROM t_dml_ins;
+i
+1
+2
+SELECT * FROM t_dml_upd;
+i
+2
+SELECT * FROM t_dml_del;
+i
+### Clean up for DML test
+DROP TABLE t_dml_ins;
+DROP TABLE t_dml_upd;
+DROP TABLE t_dml_del;
+### Result for redo log files backup
+# ok
+# ok
+# ok
+### Cleanup for redo log files backup
+DROP TABLE t_logs_1;
+DROP TABLE t_logs_2;
+DROP TABLE t_bulk_ins;
+### Result for online/offline tables test
+SELECT * FROM t_default;
+i
+1
+SELECT * FROM t_tr_p_ch;
+i
+1
+SELECT * FROM t_tr_p_nch;
+i
+1
+SELECT * FROM t_p_ch;
+i
+1
+SELECT * FROM t_p_nch;
+i
+1
+SELECT * FROM t_fixed;
+i
+1
+SELECT * FROM t_dyn;
+i
+1
+SELECT * FROM t_part_online;
+i
+5
+15
+25
+SELECT * FROM t_part_offline;
+i
+5
+15
+25
+SELECT * FROM `t 1 t-1`;
+i
+1
+SELECT * FROM `t-part online`;
+i
+5
+15
+25
+### Cleanup for online/offline tables test
+DROP TABLE t_default;
+DROP TABLE t_tr_p_ch;
+DROP TABLE t_tr_p_nch;
+DROP TABLE t_p_ch;
+DROP TABLE t_p_nch;
+DROP TABLE t_fixed;
+DROP TABLE t_dyn;
+DROP TABLE t_part_online;
+DROP TABLE t_part_offline;
+DROP TABLE `t 1 t-1`;
+DROP TABLE `t-part online`;
+###
+# Test for backup to directory
+#####
+###
+# Test for mix of online/offline backup tables
+#####
+CREATE TABLE t_default(i INT PRIMARY KEY)
+ENGINE ARIA;
+INSERT INTO t_default VALUES (1);
+CREATE TABLE t_tr_p_ch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_tr_p_ch VALUES (1);
+CREATE TABLE t_tr_p_nch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_tr_p_nch VALUES (1);
+CREATE TABLE t_p_ch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_p_ch VALUES (1);
+CREATE TABLE t_p_nch(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_p_nch VALUES (1);
+CREATE TABLE t_fixed(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=FIXED PAGE_CHECKSUM=1;
+INSERT INTO t_fixed VALUES (1);
+CREATE TABLE t_dyn(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=DYNAMIC PAGE_CHECKSUM=1;
+INSERT INTO t_dyn VALUES (1);
+# Test for partitioned table
+CREATE TABLE t_part_online(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO t_part_online VALUES(5);
+INSERT INTO t_part_online VALUES(15);
+INSERT INTO t_part_online VALUES(25);
+SELECT * FROM t_part_online;
+i
+5
+15
+25
+CREATE TABLE t_part_offline(i INT)
+ENGINE ARIA TRANSACTIONAL = 0 PAGE_CHECKSUM = 0
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO t_part_offline VALUES(5);
+INSERT INTO t_part_offline VALUES(15);
+INSERT INTO t_part_offline VALUES(25);
+# Test for filename to tablename mapping
+CREATE TABLE `t 1 t-1`(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO `t 1 t-1` VALUES (1);
+CREATE TABLE `t-part online`(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+PARTITION BY RANGE( i ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+INSERT INTO `t-part online` VALUES(5);
+INSERT INTO `t-part online` VALUES(15);
+INSERT INTO `t-part online` VALUES(25);
+###
+# Test for redo log files backup;
+#####
+CREATE TABLE t_logs_1(i INT)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+CREATE TABLE t_logs_2 LIKE t_logs_1;
+CREATE TABLE t_bulk_ins LIKE t_logs_1;
+INSERT INTO t_logs_1 VALUES
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+(0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+# Generate several log files
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+###
+# Test for DML during backup for online backup
+#####
+CREATE TABLE t_dml_ins(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_ins VALUES(1);
+CREATE TABLE t_dml_upd(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_upd VALUES(1);
+CREATE TABLE t_dml_del(i INT PRIMARY KEY)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_del VALUES(1);
+###
+# Test for DDL during backup for online backup
+#####
+CREATE DATABASE test_for_db_drop;
+CREATE TABLE test_for_db_drop.t(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_db_create(i INT PRIMARY KEY) ENGINE ARIA;
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+sys
+test
+test_for_db_drop
+CREATE TABLE t_alter(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_alter VALUES (1);
+CREATE TABLE t_trunc(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_trunc VALUES (1);
+CREATE TABLE t_ch_i (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t_ch_i VALUES(1);
+CREATE TABLE t_change_engine(i INT PRIMARY KEY) ENGINE InnoDB;
+INSERT INTO t_change_engine VALUES (1);
+CREATE TABLE t_rename(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE DATABASE test_for_rename;
+CREATE TABLE t_rename_2(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_3(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_4(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_delete(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_delete_2(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_alter(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_rename_create(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_create(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_add_part(i INT PRIMARY KEY) ENGINE ARIA;
+CREATE TABLE t_part_change_eng(i INT PRIMARY KEY) ENGINE ARIA PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_change_eng_2(i INT PRIMARY KEY) ENGINE InnoDB PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_change_eng_3(i INT PRIMARY KEY) ENGINE Aria;
+CREATE TABLE t_part_alter(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_alter_2(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 3;
+CREATE TABLE t_part_drop(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rename(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rename_3(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_rm_part(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+SET SESSION debug_dbug="+d,maria_flush_whole_log";
+SET GLOBAL aria_checkpoint_interval=10000;
+### Backup to dir
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+### Result for DDL test
+SHOW CREATE TABLE t_alter;
+Table Create Table
+t_alter CREATE TABLE `t_alter` (
+ `i` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_alter;
+i c
+1 NULL
+SHOW CREATE TABLE t_change_engine;
+Table Create Table
+t_change_engine CREATE TABLE `t_change_engine` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_change_engine;
+i
+1
+SELECT * FROM t_trunc;
+i
+1
+SELECT * FROM t_ch_i;
+i
+1
+SELECT * FROM t_rename_new;
+i
+SELECT * FROM test_for_rename.t_rename_new_2;
+i
+SELECT * FROM t_rename_new_new_3;
+i
+SELECT * FROM t_rename_new_4;
+i
+SELECT * FROM t_delete;
+ERROR 42S02: Table 'test.t_delete' doesn't exist
+SHOW CREATE TABLE t_delete_2;
+Table Create Table
+t_delete_2 CREATE TABLE `t_delete_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_rename_alter_2;
+i c
+SELECT * FROM t_rename_create;
+d
+SELECT * FROM t_rename_create_new;
+i
+SHOW CREATE TABLE t_part_create_2;
+Table Create Table
+t_part_create_2 CREATE TABLE `t_part_create_2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_create_2;
+i
+SHOW CREATE TABLE t_part_add_part;
+Table Create Table
+t_part_add_part CREATE TABLE `t_part_add_part` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_add_part;
+i
+SHOW CREATE TABLE t_part_change_eng;
+Table Create Table
+t_part_change_eng CREATE TABLE `t_part_change_eng` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_change_eng;
+i
+SHOW CREATE TABLE t_part_change_eng_2;
+Table Create Table
+t_part_change_eng_2 CREATE TABLE `t_part_change_eng_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_change_eng_2;
+i
+SELECT * FROM t_part_alter;
+i c
+SHOW CREATE TABLE t_part_alter_2;
+Table Create Table
+t_part_alter_2 CREATE TABLE `t_part_alter_2` (
+ `i` int(11) NOT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`i`)
+PARTITIONS 2
+SELECT * FROM t_part_alter_2;
+i
+SELECT * FROM t_part_drop;
+ERROR 42S02: Table 'test.t_part_drop' doesn't exist
+SELECT * FROM t_part_rename;
+ERROR 42S02: Table 'test.t_part_rename' doesn't exist
+SELECT * FROM t_part_rename_2;
+i
+SELECT * FROM t_part_rename_3;
+ERROR 42S02: Table 'test.t_part_rename_3' doesn't exist
+SELECT * FROM test_for_rename.t_part_rename_4;
+i
+SHOW CREATE TABLE t_part_rm_part;
+Table Create Table
+t_part_rm_part CREATE TABLE `t_part_rm_part` (
+ `i` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`i`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1
+SELECT * FROM t_part_rm_part;
+i c
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+sys
+test
+test_for_db_create
+test_for_rename
+### Clean up for DDL test
+DROP DATABASE test_for_db_create;
+DROP TABLE t_db_create;
+DROP TABLE t_change_engine;
+DROP TABLE t_alter;
+DROP TABLE t_trunc;
+DROP TABLE t_ch_i;
+DROP TABLE t_rename_new;
+DROP TABLE t_rename_new_new_3;
+DROP TABLE t_rename_new_4;
+DROP TABLE t_delete_2;
+DROP TABLE t_rename_alter_2;
+DROP TABLE t_rename_create;
+DROP TABLE t_rename_create_new;
+DROP TABLE t_part_create;
+DROP TABLE t_part_create_2;
+DROP TABLE t_part_add_part;
+DROP TABLE t_part_change_eng;
+DROP TABLE t_part_change_eng_2;
+DROP TABLE t_part_change_eng_3;
+DROP TABLE t_part_alter;
+DROP TABLE t_part_alter_2;
+DROP TABLE t_part_rename_2;
+DROP TABLE t_part_rm_part;
+DROP DATABASE test_for_rename;
+### Result for DML test
+SELECT * FROM t_dml_ins;
+i
+1
+2
+SELECT * FROM t_dml_upd;
+i
+2
+SELECT * FROM t_dml_del;
+i
+### Clean up for DML test
+DROP TABLE t_dml_ins;
+DROP TABLE t_dml_upd;
+DROP TABLE t_dml_del;
+### Result for redo log files backup
+# ok
+# ok
+# ok
+### Cleanup for redo log files backup
+DROP TABLE t_logs_1;
+DROP TABLE t_logs_2;
+DROP TABLE t_bulk_ins;
+### Result for online/offline tables test
+SELECT * FROM t_default;
+i
+1
+SELECT * FROM t_tr_p_ch;
+i
+1
+SELECT * FROM t_tr_p_nch;
+i
+1
+SELECT * FROM t_p_ch;
+i
+1
+SELECT * FROM t_p_nch;
+i
+1
+SELECT * FROM t_fixed;
+i
+1
+SELECT * FROM t_dyn;
+i
+1
+SELECT * FROM t_part_online;
+i
+5
+15
+25
+SELECT * FROM t_part_offline;
+i
+5
+15
+25
+SELECT * FROM `t 1 t-1`;
+i
+1
+SELECT * FROM `t-part online`;
+i
+5
+15
+25
+### Cleanup for online/offline tables test
+DROP TABLE t_default;
+DROP TABLE t_tr_p_ch;
+DROP TABLE t_tr_p_nch;
+DROP TABLE t_p_ch;
+DROP TABLE t_p_nch;
+DROP TABLE t_fixed;
+DROP TABLE t_dyn;
+DROP TABLE t_part_online;
+DROP TABLE t_part_offline;
+DROP TABLE `t 1 t-1`;
+DROP TABLE `t-part online`;
diff --git a/mysql-test/suite/mariabackup/aria_backup.test b/mysql-test/suite/mariabackup/aria_backup.test
new file mode 100644
index 00000000..b844518b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_backup.test
@@ -0,0 +1,425 @@
+--source include/have_aria.inc
+--source include/have_partition.inc
+--source include/have_debug.inc
+--source include/big_test.inc
+# This test timeouts with msan
+--source include/not_msan.inc
+
+--let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
+--let $backup_stream=2
+--let $backup_dir=1
+--let $backup_variant=$backup_stream
+
+while ($backup_variant) {
+if ($backup_variant == $backup_stream) {
+--echo ###
+--echo # Test for backup to stream
+--echo #####
+}
+if ($backup_variant == $backup_dir) {
+--echo ###
+--echo # Test for backup to directory
+--echo #####
+}
+
+--echo ###
+--echo # Test for mix of online/offline backup tables
+--echo #####
+
+CREATE TABLE t_default(i INT PRIMARY KEY)
+ ENGINE ARIA;
+INSERT INTO t_default VALUES (1);
+
+CREATE TABLE t_tr_p_ch(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_tr_p_ch VALUES (1);
+
+CREATE TABLE t_tr_p_nch(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_tr_p_nch VALUES (1);
+
+CREATE TABLE t_p_ch(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_p_ch VALUES (1);
+
+CREATE TABLE t_p_nch(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=PAGE PAGE_CHECKSUM=0;
+INSERT INTO t_p_nch VALUES (1);
+
+CREATE TABLE t_fixed(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=FIXED PAGE_CHECKSUM=1;
+INSERT INTO t_fixed VALUES (1);
+
+CREATE TABLE t_dyn(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=0 ROW_FORMAT=DYNAMIC PAGE_CHECKSUM=1;
+INSERT INTO t_dyn VALUES (1);
+
+--echo # Test for partitioned table
+CREATE TABLE t_part_online(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+ PARTITION BY RANGE( i ) (
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (20),
+ PARTITION p2 VALUES LESS THAN (30)
+ );
+
+INSERT INTO t_part_online VALUES(5);
+INSERT INTO t_part_online VALUES(15);
+INSERT INTO t_part_online VALUES(25);
+SELECT * FROM t_part_online;
+
+CREATE TABLE t_part_offline(i INT)
+ ENGINE ARIA TRANSACTIONAL = 0 PAGE_CHECKSUM = 0
+ PARTITION BY RANGE( i ) (
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (20),
+ PARTITION p2 VALUES LESS THAN (30)
+ );
+
+INSERT INTO t_part_offline VALUES(5);
+INSERT INTO t_part_offline VALUES(15);
+INSERT INTO t_part_offline VALUES(25);
+
+--echo # Test for filename to tablename mapping
+CREATE TABLE `t 1 t-1`(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO `t 1 t-1` VALUES (1);
+
+CREATE TABLE `t-part online`(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1
+ PARTITION BY RANGE( i ) (
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (20),
+ PARTITION p2 VALUES LESS THAN (30)
+ );
+
+INSERT INTO `t-part online` VALUES(5);
+INSERT INTO `t-part online` VALUES(15);
+INSERT INTO `t-part online` VALUES(25);
+
+
+--echo ###
+--echo # Test for redo log files backup;
+--echo #####
+CREATE TABLE t_logs_1(i INT)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+CREATE TABLE t_logs_2 LIKE t_logs_1;
+CREATE TABLE t_bulk_ins LIKE t_logs_1;
+INSERT INTO t_logs_1 VALUES
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
+ (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+--echo # Generate several log files
+--let $i = 0
+while ($i < 14) {
+INSERT INTO t_logs_1 SELECT * FROM t_logs_1;
+--inc $i
+}
+
+--echo ###
+--echo # Test for DML during backup for online backup
+--echo #####
+CREATE TABLE t_dml_ins(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_ins VALUES(1);
+--let after_aria_table_copy_test_t_dml_ins=INSERT INTO test.t_dml_ins VALUES(2)
+CREATE TABLE t_dml_upd(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_upd VALUES(1);
+--let after_aria_table_copy_test_t_dml_upd=UPDATE test.t_dml_upd SET i = 2
+CREATE TABLE t_dml_del(i INT PRIMARY KEY)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+INSERT INTO t_dml_del VALUES(1);
+--let after_aria_table_copy_test_t_dml_del=DELETE FROM test.t_dml_del
+
+--echo ###
+--echo # Test for DDL during backup for online backup
+--echo #####
+CREATE DATABASE test_for_db_drop;
+CREATE TABLE test_for_db_drop.t(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_for_db_drop_t=DROP DATABASE test_for_db_drop
+CREATE TABLE t_db_create(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_db_create=CREATE DATABASE test_for_db_create
+--sorted_result
+SHOW DATABASES;
+
+CREATE TABLE t_alter(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_alter VALUES (1);
+--let after_aria_table_copy_test_t_alter=ALTER TABLE test.t_alter ADD COLUMN c INT
+
+CREATE TABLE t_trunc(i INT PRIMARY KEY) ENGINE ARIA;
+INSERT INTO t_trunc VALUES (1);
+--let after_aria_table_copy_test_t_trunc=TRUNCATE TABLE test.t_trunc
+
+CREATE TABLE t_ch_i (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t_ch_i VALUES(1);
+--let after_aria_table_copy_test_t_ch_i=ALTER TABLE test.t_ch_i DISABLE KEYS
+
+CREATE TABLE t_change_engine(i INT PRIMARY KEY) ENGINE InnoDB;
+INSERT INTO t_change_engine VALUES (1);
+--let after_aria_background=begin not atomic ALTER TABLE test.t_change_engine ENGINE = ARIA; INSERT INTO test.t_logs_1 SELECT * FROM test.t_logs_1; INSERT INTO test.t_bulk_ins SELECT * FROM test.t_logs_1; INSERT INTO test.t_logs_2 SET i = 1; end
+
+CREATE TABLE t_rename(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename=RENAME TABLE test.t_rename TO test.t_rename_new
+CREATE DATABASE test_for_rename;
+CREATE TABLE t_rename_2(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename_2=RENAME TABLE test.t_rename_2 TO test_for_rename.t_rename_new_2
+
+CREATE TABLE t_rename_3(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename_3=begin not atomic RENAME TABLE test.t_rename_3 TO test.t_rename_new_3; RENAME TABLE test.t_rename_new_3 TO test.t_rename_new_new_3; end
+
+CREATE TABLE t_rename_4(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename_4=begin not atomic RENAME TABLE test.t_rename_4 TO test.t_rename_new_4; RENAME TABLE test.t_rename_new_4 TO test.t_rename_new_new_4; RENAME TABLE test.t_rename_new_new_4 TO test.t_rename_new_4; end
+
+CREATE TABLE t_delete(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_delete=DROP TABLE test.t_delete
+
+CREATE TABLE t_delete_2(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_delete_2=ALTER TABLE test.t_delete_2 ENGINE=Innodb
+
+CREATE TABLE t_rename_alter(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename_alter=begin not atomic RENAME TABLE test.t_rename_alter TO test.t_rename_alter_2; ALTER TABLE test.t_rename_alter_2 ADD COLUMN c INT; end
+
+CREATE TABLE t_rename_create(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_rename_create=begin not atomic RENAME TABLE test.t_rename_create TO test.t_rename_create_new; CREATE TABLE test.t_rename_create(d INT PRIMARY KEY) ENGINE ARIA; end
+
+CREATE TABLE t_part_create(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_part_create=create table test.t_part_create_2 (i int) engine=Aria PARTITION BY HASH(i) PARTITIONS 2
+
+CREATE TABLE t_part_add_part(i INT PRIMARY KEY) ENGINE ARIA;
+--let after_aria_table_copy_test_t_part_add_part=alter table test.t_part_add_part PARTITION BY HASH(i) PARTITIONS 2
+
+CREATE TABLE t_part_change_eng(i INT PRIMARY KEY) ENGINE ARIA PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_change_eng=alter table test.t_part_change_eng ENGINE=InnoDB
+
+CREATE TABLE t_part_change_eng_2(i INT PRIMARY KEY) ENGINE InnoDB PARTITION BY HASH(i) PARTITIONS 2;
+CREATE TABLE t_part_change_eng_3(i INT PRIMARY KEY) ENGINE Aria;
+--let after_aria_table_copy_test_t_part_change_eng_3=alter table test.t_part_change_eng_2 ENGINE=Aria
+
+CREATE TABLE t_part_alter(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_alter=alter table test.t_part_alter ADD COLUMN c INT
+
+CREATE TABLE t_part_alter_2(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 3;
+--let after_aria_table_copy_test_t_part_alter_2=alter table test.t_part_alter_2 COALESCE PARTITION 1
+
+CREATE TABLE t_part_drop(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_drop=DROP table test.t_part_drop
+
+CREATE TABLE t_part_rename(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_rename=RENAME TABLE test.t_part_rename TO test.t_part_rename_2
+
+CREATE TABLE t_part_rename_3(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_rename_3=RENAME TABLE test.t_part_rename_3 TO test_for_rename.t_part_rename_4
+
+CREATE TABLE t_part_rm_part(i INT PRIMARY KEY) ENGINE Aria PARTITION BY HASH(i) PARTITIONS 2;
+--let after_aria_table_copy_test_t_part_rm_part=begin not atomic ALTER TABLE test.t_part_rm_part REMOVE PARTITIONING; ALTER TABLE test.t_part_rm_part ADD COLUMN c INT; end
+
+SET SESSION debug_dbug="+d,maria_flush_whole_log";
+SET GLOBAL aria_checkpoint_interval=10000;
+
+--mkdir $targetdir
+
+if ($backup_variant == $backup_stream) {
+--echo ### Backup to stream
+--let $streamfile=$MYSQLTEST_VARDIR/tmp/backup.xb
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events --stream=xbstream > $streamfile 2>$targetdir/backup_stream.log;
+--disable_result_log
+exec $XBSTREAM -x -C $targetdir < $streamfile;
+--enable_result_log
+}
+
+if ($backup_variant == $backup_dir) {
+--echo ### Backup to dir
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events
+--enable_result_log
+}
+
+--let $t_logs_1_records_count_before_backup=`SELECT COUNT(*) FROM t_logs_1`
+--let $t_logs_2_records_count_before_backup=`SELECT COUNT(*) FROM t_logs_2`
+--let $t_bulk_ins_records_count_before_backup=`SELECT COUNT(*) FROM t_bulk_ins`
+
+--echo # xtrabackup prepare
+--disable_result_log
+--exec $XTRABACKUP --prepare --target-dir=$targetdir
+--source include/restart_and_restore.inc
+--enable_result_log
+
+--echo ### Result for DDL test
+SHOW CREATE TABLE t_alter;
+SELECT * FROM t_alter;
+SHOW CREATE TABLE t_change_engine;
+SELECT * FROM t_change_engine;
+SELECT * FROM t_trunc;
+SELECT * FROM t_ch_i;
+SELECT * FROM t_rename_new;
+SELECT * FROM test_for_rename.t_rename_new_2;
+SELECT * FROM t_rename_new_new_3;
+SELECT * FROM t_rename_new_4;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t_delete;
+SHOW CREATE TABLE t_delete_2;
+SELECT * FROM t_rename_alter_2;
+SELECT * FROM t_rename_create;
+SELECT * FROM t_rename_create_new;
+SHOW CREATE TABLE t_part_create_2;
+SELECT * FROM t_part_create_2;
+SHOW CREATE TABLE t_part_add_part;
+SELECT * FROM t_part_add_part;
+SHOW CREATE TABLE t_part_change_eng;
+SELECT * FROM t_part_change_eng;
+SHOW CREATE TABLE t_part_change_eng_2;
+SELECT * FROM t_part_change_eng_2;
+SELECT * FROM t_part_alter;
+SHOW CREATE TABLE t_part_alter_2;
+SELECT * FROM t_part_alter_2;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t_part_drop;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t_part_rename;
+SELECT * FROM t_part_rename_2;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t_part_rename_3;
+SELECT * FROM test_for_rename.t_part_rename_4;
+SHOW CREATE TABLE t_part_rm_part;
+SELECT * FROM t_part_rm_part;
+--sorted_result
+SHOW DATABASES;
+
+--echo ### Clean up for DDL test
+DROP DATABASE test_for_db_create;
+DROP TABLE t_db_create;
+DROP TABLE t_change_engine;
+DROP TABLE t_alter;
+DROP TABLE t_trunc;
+DROP TABLE t_ch_i;
+DROP TABLE t_rename_new;
+DROP TABLE t_rename_new_new_3;
+DROP TABLE t_rename_new_4;
+DROP TABLE t_delete_2;
+DROP TABLE t_rename_alter_2;
+DROP TABLE t_rename_create;
+DROP TABLE t_rename_create_new;
+DROP TABLE t_part_create;
+DROP TABLE t_part_create_2;
+DROP TABLE t_part_add_part;
+DROP TABLE t_part_change_eng;
+DROP TABLE t_part_change_eng_2;
+DROP TABLE t_part_change_eng_3;
+DROP TABLE t_part_alter;
+DROP TABLE t_part_alter_2;
+DROP TABLE t_part_rename_2;
+DROP TABLE t_part_rm_part;
+DROP DATABASE test_for_rename;
+--let after_aria_table_copy_test_for_db_drop_t=
+--let after_aria_table_copy_test_t_db_create=
+--let after_aria_table_copy_test_t_alter=
+--let after_aria_background=
+--let after_aria_table_copy_test_t_trunc=
+--let after_aria_table_copy_test_t_ch_i=
+--let after_aria_table_copy_test_t_rename=
+--let after_aria_table_copy_test_t_rename_2=
+--let after_aria_table_copy_test_t_rename_3=
+--let after_aria_table_copy_test_t_rename_4=
+--let after_aria_table_copy_test_t_delete=
+--let after_aria_table_copy_test_t_delete_2=
+--let after_aria_table_copy_test_t_rename_alter=
+--let after_aria_table_copy_test_t_rename_create=
+--let after_aria_table_copy_test_t_part_create=
+--let after_aria_table_copy_test_t_part_add_part=
+--let after_aria_table_copy_test_t_part_change_eng=
+--let after_aria_table_copy_test_t_part_change_eng_3=
+--let after_aria_table_copy_test_t_part_alter=
+--let after_aria_table_copy_test_t_part_alter_2=
+--let after_aria_table_copy_test_t_part_drop=
+--let after_aria_table_copy_test_t_part_rename=
+--let after_aria_table_copy_test_t_part_rename_3=
+--let after_aria_table_copy_test_t_part_rm_part=
+
+--echo ### Result for DML test
+SELECT * FROM t_dml_ins;
+SELECT * FROM t_dml_upd;
+SELECT * FROM t_dml_del;
+
+--echo ### Clean up for DML test
+DROP TABLE t_dml_ins;
+DROP TABLE t_dml_upd;
+DROP TABLE t_dml_del;
+--let after_aria_table_copy_test_t_dml_ins=
+--let after_aria_table_copy_test_t_dml_upd=
+--let after_aria_table_copy_test_t_dml_del=
+
+--echo ### Result for redo log files backup
+--let $t_logs_1_records_count_after_backup=`SELECT COUNT(*) FROM t_logs_1`
+--let $t_logs_2_records_count_after_backup=`SELECT COUNT(*) FROM t_logs_2`
+--let $t_bulk_ins_records_count_after_backup=`SELECT COUNT(*) FROM t_bulk_ins`
+if ($t_logs_1_records_count_after_backup == $t_logs_1_records_count_before_backup) {
+--echo # ok
+}
+if ($t_logs_1_records_count_after_backup != $t_logs_1_records_count_before_backup) {
+--echo # failed
+}
+if ($t_logs_2_records_count_after_backup == $t_logs_2_records_count_before_backup) {
+--echo # ok
+}
+if ($t_logs_2_records_count_after_backup != $t_logs_2_records_count_before_backup) {
+--echo # failed
+}
+if ($t_bulk_ins_records_count_after_backup == $t_bulk_ins_records_count_before_backup) {
+--echo # ok
+}
+if ($t_bulk_ins_records_count_after_backup != $t_bulk_ins_records_count_before_backup) {
+--echo # failed
+}
+
+--echo ### Cleanup for redo log files backup
+DROP TABLE t_logs_1;
+DROP TABLE t_logs_2;
+DROP TABLE t_bulk_ins;
+--let $t_logs_1_records_count_before_backup=
+--let $t_logs_1_records_count_after_backup=
+--let $t_logs_2_records_count_before_backup=
+--let $t_logs_2_records_count_after_backup=
+--let $t_bulk_ins_records_count_before_backup=
+--let $t_bulk_ins_records_count_after_backup=
+
+--echo ### Result for online/offline tables test
+SELECT * FROM t_default;
+SELECT * FROM t_tr_p_ch;
+SELECT * FROM t_tr_p_nch;
+SELECT * FROM t_p_ch;
+SELECT * FROM t_p_nch;
+SELECT * FROM t_fixed;
+SELECT * FROM t_dyn;
+SELECT * FROM t_part_online;
+SELECT * FROM t_part_offline;
+SELECT * FROM `t 1 t-1`;
+SELECT * FROM `t-part online`;
+
+--echo ### Cleanup for online/offline tables test
+DROP TABLE t_default;
+DROP TABLE t_tr_p_ch;
+DROP TABLE t_tr_p_nch;
+DROP TABLE t_p_ch;
+DROP TABLE t_p_nch;
+DROP TABLE t_fixed;
+DROP TABLE t_dyn;
+DROP TABLE t_part_online;
+DROP TABLE t_part_offline;
+DROP TABLE `t 1 t-1`;
+DROP TABLE `t-part online`;
+
+if ($backup_variant == $backup_stream) {
+--remove_file $streamfile
+}
+--rmdir $targetdir
+--dec $backup_variant
+}
+
diff --git a/mysql-test/suite/mariabackup/aria_log.opt b/mysql-test/suite/mariabackup/aria_log.opt
new file mode 100644
index 00000000..f226499f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_log.opt
@@ -0,0 +1 @@
+--loose-aria-log-file-size=8388608
diff --git a/mysql-test/suite/mariabackup/aria_log_dir_path.result b/mysql-test/suite/mariabackup/aria_log_dir_path.result
index 1a877321..ead4b836 100644
--- a/mysql-test/suite/mariabackup/aria_log_dir_path.result
+++ b/mysql-test/suite/mariabackup/aria_log_dir_path.result
@@ -35,7 +35,6 @@ DROP TABLE t1;
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/;
SHOW ENGINE aria logs;
Type Name Status
-Aria aria_log.00000001 free
Aria aria_log.00000002 in use
# Restarting mariadbd with default parameters
# restart
diff --git a/mysql-test/suite/mariabackup/aria_log_dir_path.test b/mysql-test/suite/mariabackup/aria_log_dir_path.test
index 0178cd4e..40bc3944 100644
--- a/mysql-test/suite/mariabackup/aria_log_dir_path.test
+++ b/mysql-test/suite/mariabackup/aria_log_dir_path.test
@@ -48,7 +48,6 @@ SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/;
--replace_regex /Size +[0-9]+ ; .+aria_log/aria_log/
SHOW ENGINE aria logs;
-
--echo # mariadb-backup --backup
--disable_result_log
--mkdir $targetdir
@@ -61,7 +60,6 @@ SHOW ENGINE aria logs;
--exec $XTRABACKUP --prepare --target-dir=$targetdir
--enable_result_log
-
--echo # shutdown server
--disable_result_log
--source include/shutdown_mysqld.inc
@@ -70,12 +68,14 @@ SHOW ENGINE aria logs;
--echo # remove aria-log-dir-path
--rmdir $ARIA_LOGDIR_FS
+
--echo # mariadb-backup --copy-back
--let $mariadb_backup_parameters=--defaults-file=$MYSQLTEST_VARDIR/my.cnf --copy-back --datadir=$datadir --target-dir=$targetdir --parallel=2 --throttle=1 --aria-log-dir-path=$ARIA_LOGDIR_MARIADB
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec echo "# with parameters: $mariadb_backup_parameters"
--exec $XTRABACKUP $mariadb_backup_parameters
+
--echo # starting server
--let $restart_parameters=$server_parameters
--source include/start_mysqld.inc
@@ -91,7 +91,7 @@ DROP TABLE t1;
--echo # Testing aria log files after --copy-back
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/;
--file_exists $ARIA_LOGDIR_FS/aria_log_control
---file_exists $ARIA_LOGDIR_FS/aria_log.00000001
+#--file_exists $ARIA_LOGDIR_FS/aria_log.00000001
--file_exists $ARIA_LOGDIR_FS/aria_log.00000002
--error 1
--file_exists $ARIA_LOGDIR_FS/aria_log.00000003
diff --git a/mysql-test/suite/mariabackup/aria_log_dir_path_rel.result b/mysql-test/suite/mariabackup/aria_log_dir_path_rel.result
index 7fef2609..736bc556 100644
--- a/mysql-test/suite/mariabackup/aria_log_dir_path_rel.result
+++ b/mysql-test/suite/mariabackup/aria_log_dir_path_rel.result
@@ -35,7 +35,6 @@ DROP TABLE t1;
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/;
SHOW ENGINE aria logs;
Type Name Status
-Aria aria_log.00000001 free
Aria aria_log.00000002 in use
# Restarting mariadbd with default parameters
# restart
diff --git a/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.opt b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.opt
new file mode 100644
index 00000000..7c3ebe42
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.opt
@@ -0,0 +1,2 @@
+--loose-aria-log-file-size=8388608
+--loose-restart-for-aria_log_rotate_during_backup="This is needed to recreate datadir, to have Aria start logs from aria_log.00000001"
diff --git a/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.result b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.result
new file mode 100644
index 00000000..0691bce8
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.result
@@ -0,0 +1,58 @@
+SHOW VARIABLES LIKE 'aria_log_file_size';
+Variable_name Value
+aria_log_file_size 8388608
+CREATE PROCEDURE display_aria_log_control(ctrl BLOB)
+BEGIN
+SELECT HEX(REVERSE(SUBSTRING(ctrl, 42, 4))) AS last_logno;
+END;
+$$
+CREATE PROCEDURE populate_t1()
+BEGIN
+FOR id IN 0..9 DO
+INSERT INTO test.t1 (id, txt) VALUES (id, REPEAT(id,1024*1024));
+END FOR;
+END;
+$$
+CREATE TABLE test.t1(id INT, txt LONGTEXT) ENGINE=Aria;
+# MYSQLD_DATADIR/aria_log_control before --backup
+CALL display_aria_log_control(@aria_log_control);
+last_logno
+00000001
+# Running --backup
+# MYSQLD_DATADIR/aria_log_control after --backup
+CALL display_aria_log_control(@aria_log_control);
+last_logno
+00000002
+# targetdir/aria_log_control after --backup
+CALL display_aria_log_control(@aria_log_control);
+last_logno
+00000001
+# Running --prepare
+# targetdir/aria_log_control after --prepare
+CALL display_aria_log_control(@aria_log_control);
+last_logno
+00000002
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+# MYSQLD_DATADIR/aria_log_control after --copy-back
+CALL display_aria_log_control(@aria_log_control);
+last_logno
+00000002
+# Checking that after --restore all t1 data is there
+SELECT id, LENGTH(txt) FROM t1 ORDER BY id;
+id LENGTH(txt)
+0 1048576
+1 1048576
+2 1048576
+3 1048576
+4 1048576
+5 1048576
+6 1048576
+7 1048576
+8 1048576
+9 1048576
+DROP TABLE t1;
+DROP PROCEDURE populate_t1;
+DROP PROCEDURE display_aria_log_control;
diff --git a/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.test b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.test
new file mode 100644
index 00000000..172ade33
--- /dev/null
+++ b/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.test
@@ -0,0 +1,82 @@
+--source include/have_debug.inc
+--source include/have_aria.inc
+
+SHOW VARIABLES LIKE 'aria_log_file_size';
+
+--let $MYSQLD_DATADIR= `select @@datadir`
+--let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
+mkdir $targetdir;
+
+
+DELIMITER $$;
+CREATE PROCEDURE display_aria_log_control(ctrl BLOB)
+BEGIN
+ SELECT HEX(REVERSE(SUBSTRING(ctrl, 42, 4))) AS last_logno;
+END;
+$$
+DELIMITER ;$$
+
+DELIMITER $$;
+CREATE PROCEDURE populate_t1()
+BEGIN
+ FOR id IN 0..9 DO
+ INSERT INTO test.t1 (id, txt) VALUES (id, REPEAT(id,1024*1024));
+ END FOR;
+END;
+$$
+DELIMITER ;$$
+
+
+CREATE TABLE test.t1(id INT, txt LONGTEXT) ENGINE=Aria;
+
+--echo # MYSQLD_DATADIR/aria_log_control before --backup
+--let ARIA_DATADIR=$MYSQLD_DATADIR
+--source include/aria_log_control_load.inc
+CALL display_aria_log_control(@aria_log_control);
+
+
+--echo # Running --backup
+--let after_scanning_log_files=CALL test.populate_t1
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events 2>&1
+--let after_scanning_log_files=
+--enable_result_log
+
+--echo # MYSQLD_DATADIR/aria_log_control after --backup
+--let ARIA_DATADIR=$MYSQLD_DATADIR
+--source include/aria_log_control_load.inc
+CALL display_aria_log_control(@aria_log_control);
+
+--echo # targetdir/aria_log_control after --backup
+--let ARIA_DATADIR=$targetdir
+--source include/aria_log_control_load.inc
+CALL display_aria_log_control(@aria_log_control);
+
+
+--echo # Running --prepare
+--disable_result_log
+--exec $XTRABACKUP --prepare --target-dir=$targetdir
+--enable_result_log
+
+--echo # targetdir/aria_log_control after --prepare
+--let ARIA_DATADIR=$targetdir
+--source include/aria_log_control_load.inc
+CALL display_aria_log_control(@aria_log_control);
+
+
+--disable_result_log
+--source include/restart_and_restore.inc
+--enable_result_log
+
+--echo # MYSQLD_DATADIR/aria_log_control after --copy-back
+--let ARIA_DATADIR=$MYSQLD_DATADIR
+--source include/aria_log_control_load.inc
+CALL display_aria_log_control(@aria_log_control);
+
+--echo # Checking that after --restore all t1 data is there
+SELECT id, LENGTH(txt) FROM t1 ORDER BY id;
+DROP TABLE t1;
+rmdir $targetdir;
+
+DROP PROCEDURE populate_t1;
+DROP PROCEDURE display_aria_log_control;
diff --git a/mysql-test/suite/mariabackup/auth_plugin_win.test b/mysql-test/suite/mariabackup/auth_plugin_win.test
index 70ae74b7..7c0ba047 100644
--- a/mysql-test/suite/mariabackup/auth_plugin_win.test
+++ b/mysql-test/suite/mariabackup/auth_plugin_win.test
@@ -22,7 +22,7 @@ eval GRANT ALL PRIVILEGES ON *.* to '$USERNAME';
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf -u $USERNAME --backup --protocol=pipe --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf -u $USERNAME --backup --parallel=10 --protocol=pipe --target-dir=$targetdir;
--enable_result_log
--replace_result $USERNAME USERNAME
eval DROP USER '$USERNAME';
diff --git a/mysql-test/suite/mariabackup/backup_grants.result b/mysql-test/suite/mariabackup/backup_grants.result
index 6bd6c9f4..3407d288 100644
--- a/mysql-test/suite/mariabackup/backup_grants.result
+++ b/mysql-test/suite/mariabackup/backup_grants.result
@@ -1,4 +1,4 @@
-CREATE user backup@localhost;
+CREATE user backup@localhost IDENTIFIED BY 'xyz';
FOUND 1 /missing required privilege RELOAD/ in backup.log
FOUND 1 /missing required privilege PROCESS/ in backup.log
FOUND 1 /GRANT USAGE ON/ in backup.log
@@ -6,8 +6,6 @@ GRANT RELOAD, PROCESS on *.* to backup@localhost;
FOUND 1 /missing required privilege REPLICA MONITOR/ in backup.log
GRANT REPLICA MONITOR ON *.* TO backup@localhost;
REVOKE REPLICA MONITOR ON *.* FROM backup@localhost;
-FOUND 1 /missing required privilege CONNECTION ADMIN/ in backup.log
-GRANT CONNECTION ADMIN ON *.* TO backup@localhost;
FOUND 1 /missing required privilege REPLICATION SLAVE ADMIN/ in backup.log
FOUND 1 /missing required privilege REPLICA MONITOR/ in backup.log
GRANT REPLICATION SLAVE ADMIN ON *.* TO backup@localhost;
diff --git a/mysql-test/suite/mariabackup/backup_grants.test b/mysql-test/suite/mariabackup/backup_grants.test
index 18db3489..a90b4678 100644
--- a/mysql-test/suite/mariabackup/backup_grants.test
+++ b/mysql-test/suite/mariabackup/backup_grants.test
@@ -1,16 +1,16 @@
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
-CREATE user backup@localhost;
+CREATE user backup@localhost IDENTIFIED BY 'xyz';
# backup possible for unprivileges user, with --no-lock
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --no-lock --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 -ubackup -pxyz --no-lock --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
# backup fails without --no-lock, because of FTWRL
--disable_result_log
error 1;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 -ubackup -pxyz --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--enable_result_log
let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/backup.log;
@@ -23,7 +23,7 @@ let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/backup.log;
# backup succeeds with RELOAD privilege
GRANT RELOAD, PROCESS on *.* to backup@localhost;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --user=backup --password=xyz --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
@@ -31,7 +31,7 @@ rmdir $targetdir;
# --slave-info and galera info require REPLICA MONITOR
--disable_result_log
error 1;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --slave-info --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user=backup --password=xyz --slave-info --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--enable_result_log
rmdir $targetdir;
@@ -40,33 +40,15 @@ rmdir $targetdir;
GRANT REPLICA MONITOR ON *.* TO backup@localhost;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --slave-info --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user backup --password xyz --slave-info --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
REVOKE REPLICA MONITOR ON *.* FROM backup@localhost;
-# TODO need a query that would delay a BACKUP STAGE START/ BACKUP STAGE BLOCK_COMMIT longer than the kill-long-queries-timeout
-#--send SELECT SLEEP(9) kill_me
-
-# kill-long-query-type=(not empty) requires CONNECTION ADMIN
---disable_result_log
---exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --kill-long-query-type=ALL --kill-long-queries-timeout=4 --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
---enable_result_log
-rmdir $targetdir;
-
---let SEARCH_PATTERN= missing required privilege CONNECTION ADMIN
---source include/search_pattern_in_file.inc
-
-GRANT CONNECTION ADMIN ON *.* TO backup@localhost;
---disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --kill-long-query-type=all --kill-long-queries-timeout=1 --target-dir=$targetdir;
---enable_result_log
-rmdir $targetdir;
-
# --safe-slave-backup requires REPLICATION SLAVE ADMIN, and REPLICA MONITOR
--disable_result_log
error 1;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --safe-slave-backup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user backup --password xyz --safe-slave-backup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log;
--enable_result_log
rmdir $targetdir;
@@ -78,7 +60,7 @@ rmdir $targetdir;
GRANT REPLICATION SLAVE ADMIN ON *.* TO backup@localhost;
GRANT REPLICA MONITOR ON *.* TO backup@localhost;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --safe-slave-backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --safe-slave-backup --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/backup_ssl.test b/mysql-test/suite/mariabackup/backup_ssl.test
index e858c834..b38073cf 100644
--- a/mysql-test/suite/mariabackup/backup_ssl.test
+++ b/mysql-test/suite/mariabackup/backup_ssl.test
@@ -3,7 +3,7 @@ FLUSH PRIVILEGES;
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --user=backup_user --password=x --ssl --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --user=backup_user --password=x --ssl --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
echo # xtrabackup prepare;
diff --git a/mysql-test/suite/mariabackup/binlog.test b/mysql-test/suite/mariabackup/binlog.test
index 9d62e5f8..d02d135e 100644
--- a/mysql-test/suite/mariabackup/binlog.test
+++ b/mysql-test/suite/mariabackup/binlog.test
@@ -9,7 +9,7 @@ INSERT INTO t VALUES(1);
SHOW VARIABLES like 'log_bin';
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
exec $XTRABACKUP --prepare --binlog-info=1 --target-dir=$basedir ;
diff --git a/mysql-test/suite/mariabackup/compress_qpress.test b/mysql-test/suite/mariabackup/compress_qpress.test
index c7762f8e..263fc55e 100644
--- a/mysql-test/suite/mariabackup/compress_qpress.test
+++ b/mysql-test/suite/mariabackup/compress_qpress.test
@@ -4,7 +4,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --compress --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --compress --target-dir=$targetdir;
--enable_result_log
INSERT INTO t VALUES(2);
diff --git a/mysql-test/suite/mariabackup/create_during_backup.test b/mysql-test/suite/mariabackup/create_during_backup.test
index 985a5a3e..16d47a64 100644
--- a/mysql-test/suite/mariabackup/create_during_backup.test
+++ b/mysql-test/suite/mariabackup/create_during_backup.test
@@ -7,7 +7,7 @@ mkdir $targetdir;
echo # xtrabackup backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events;
--enable_result_log
--let after_load_tables=
diff --git a/mysql-test/suite/mariabackup/create_with_data_directory_during_backup.test b/mysql-test/suite/mariabackup/create_with_data_directory_during_backup.test
index f01028b6..aa7d6de2 100644
--- a/mysql-test/suite/mariabackup/create_with_data_directory_during_backup.test
+++ b/mysql-test/suite/mariabackup/create_with_data_directory_during_backup.test
@@ -8,7 +8,7 @@ mkdir $table_data_dir;
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events;
--enable_result_log
--source include/shutdown_mysqld.inc
echo # xtrabackup prepare;
diff --git a/mysql-test/suite/mariabackup/data_directory.test b/mysql-test/suite/mariabackup/data_directory.test
index ffb3ab30..96d76ba0 100644
--- a/mysql-test/suite/mariabackup/data_directory.test
+++ b/mysql-test/suite/mariabackup/data_directory.test
@@ -7,7 +7,7 @@ INSERT INTO t VALUES(1);
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
--source include/shutdown_mysqld.inc
echo # xtrabackup prepare;
@@ -21,6 +21,7 @@ rmdir $table_data_dir;
SELECT * FROM t;
DROP TABLE t;
rmdir $targetdir;
+rmdir $table_data_dir;
--echo #
--echo # MDEV-18200 MariaBackup full backup failed with InnoDB: Failing assertion: success
@@ -32,8 +33,8 @@ chmod 0000 $DATADIR/ibdata1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
--enable_result_log
chmod 0755 $DATADIR/ibdata1;
-rmdir $table_data_dir;
rmdir $targetdir;
+
--echo #
--echo # End of 10.4 tests
--echo #
diff --git a/mysql-test/suite/mariabackup/ddl_for_common_engine.result b/mysql-test/suite/mariabackup/ddl_for_common_engine.result
new file mode 100644
index 00000000..27a2f288
--- /dev/null
+++ b/mysql-test/suite/mariabackup/ddl_for_common_engine.result
@@ -0,0 +1,67 @@
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=CSV;
+CREATE TABLE t2 (a INT NOT NULL) ENGINE=CSV;
+CREATE TABLE t3 (a INT NOT NULL) ENGINE=CSV;
+### Backup to dir
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t4;
+a
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SELECT * FROM t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+SELECT * FROM t5;
+a
+SELECT * FROM t1;
+a
+DROP TABLE t4, t5, t1;
+CREATE TABLE t1_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t1_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=MERGE UNION=(t1_m1, t1_m2) INSERT_METHOD=LAST;
+CREATE TABLE t2_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t2_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t2 (a INT NOT NULL) ENGINE=MERGE UNION=(t2_m1, t2_m2) INSERT_METHOD=LAST;
+CREATE TABLE t3_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t3_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t3 (a INT NOT NULL) ENGINE=MERGE UNION=(t3_m1, t3_m2) INSERT_METHOD=LAST;
+### Backup to dir
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t4;
+a
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SELECT * FROM t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+SELECT * FROM t5;
+a
+SELECT * FROM t1;
+a
+DROP TABLE t4, t5, t1;
+DROP TABLE t1_m1, t1_m2, t2_m1, t2_m2, t3_m1, t3_m2;
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t3 (a INT NOT NULL) ENGINE=MyISAM;
+### Backup to dir
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t4;
+a
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SELECT * FROM t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+SELECT * FROM t5;
+a
+SELECT * FROM t1;
+a
+DROP TABLE t4, t5, t1;
diff --git a/mysql-test/suite/mariabackup/ddl_for_common_engine.test b/mysql-test/suite/mariabackup/ddl_for_common_engine.test
new file mode 100644
index 00000000..045c2320
--- /dev/null
+++ b/mysql-test/suite/mariabackup/ddl_for_common_engine.test
@@ -0,0 +1,79 @@
+# This test is just to ensure the DDL processing works for common engines like
+# MyISAM, ARCHIVE, CSV etc. The more complex test for different cases is
+# implemented in aria_backup.test.
+--source include/have_archive.inc
+--source include/have_csv.inc
+--source include/have_debug.inc
+
+--let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
+
+--let $e_myisam = 1
+--let $e_merge = 2
+--let $e_csv = 3
+--let $e_archive = 4
+# 'rename' is not logged in $e_archive, return when fix
+--let $e_var = $e_csv
+
+while ($e_var) {
+if ($e_var == $e_csv) {
+--let $engine = CSV
+}
+if ($e_var == $e_archive) {
+--let $engine = ARCHIVE
+}
+if ($e_var == $e_merge) {
+--let $engine = MERGE
+}
+if ($e_var == $e_myisam) {
+--let $engine = MyISAM
+}
+
+if ($e_var == $e_merge) {
+CREATE TABLE t1_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t1_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=MERGE UNION=(t1_m1, t1_m2) INSERT_METHOD=LAST;
+CREATE TABLE t2_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t2_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t2 (a INT NOT NULL) ENGINE=MERGE UNION=(t2_m1, t2_m2) INSERT_METHOD=LAST;
+CREATE TABLE t3_m1 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t3_m2 (a INT NOT NULL) ENGINE=MyISAM;
+CREATE TABLE t3 (a INT NOT NULL) ENGINE=MERGE UNION=(t3_m1, t3_m2) INSERT_METHOD=LAST;
+}
+if ($e_var != $e_merge) {
+eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=$engine;
+eval CREATE TABLE t2 (a INT NOT NULL) ENGINE=$engine;
+eval CREATE TABLE t3 (a INT NOT NULL) ENGINE=$engine;
+}
+
+--let after_ce_table_copy_test_t1=begin not atomic CREATE TABLE test.t4 LIKE test.t1; DROP TABLE test.t2; RENAME TABLE test.t3 TO test.t5; end
+
+--mkdir $targetdir
+--echo ### Backup to dir
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events
+--enable_result_log
+
+--echo # xtrabackup prepare
+--disable_result_log
+--exec $XTRABACKUP --prepare --target-dir=$targetdir
+--source include/restart_and_restore.inc
+--enable_result_log
+--rmdir $targetdir
+
+SELECT * FROM t4;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t2;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t3;
+SELECT * FROM t5;
+SELECT * FROM t1;
+
+DROP TABLE t4, t5, t1;
+
+if ($e_var == $e_merge) {
+DROP TABLE t1_m1, t1_m2, t2_m1, t2_m2, t3_m1, t3_m2;
+}
+--let after_ce_table_copy_test_t1=
+--dec $e_var
+}
+
diff --git a/mysql-test/suite/mariabackup/disabled.def b/mysql-test/suite/mariabackup/disabled.def
index d272540c..f8a34181 100644
--- a/mysql-test/suite/mariabackup/disabled.def
+++ b/mysql-test/suite/mariabackup/disabled.def
@@ -1 +1,3 @@
log_page_corruption : MDEV-26210
+mariabackup.xb_compressed_encrypted : MDEV-26154 (error 194 "Tablespace is missing for a table")
+innodb_ddl_on_intermediate_table : MENT-1213
diff --git a/mysql-test/suite/mariabackup/encrypted_export.opt b/mysql-test/suite/mariabackup/encrypted_export.opt
new file mode 100644
index 00000000..227c2e03
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_export.opt
@@ -0,0 +1,6 @@
+--innodb_encrypt_tables=1
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filekey=FILE:$MTR_SUITE_DIR/filekeys-data.key
+--loose-file-key-management-filename=$MTR_SUITE_DIR/filekeys-data.enc
+--loose-file-key-management-encryption-algorithm=aes_cbc
diff --git a/mysql-test/suite/mariabackup/encrypted_export.result b/mysql-test/suite/mariabackup/encrypted_export.result
new file mode 100644
index 00000000..b2add8e6
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_export.result
@@ -0,0 +1,14 @@
+CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
+insert into t1 values(repeat('a',100));
+select @@innodb_encrypt_tables;
+@@innodb_encrypt_tables
+ON
+# xtrabackup backup
+# xtrabackup prepare export
+# restart
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/encrypted_export.test b/mysql-test/suite/mariabackup/encrypted_export.test
new file mode 100644
index 00000000..d1802118
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_export.test
@@ -0,0 +1,29 @@
+--source include/have_file_key_management.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
+insert into t1 values(repeat('a',100));
+
+select @@innodb_encrypt_tables;
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
+--enable_result_log
+--source include/shutdown_mysqld.inc
+
+echo # xtrabackup prepare export;
+--disable_result_log
+exec $XTRABACKUP --prepare --export --target-dir=$targetdir;
+--enable_result_log
+
+--source include/start_mysqld.inc
+let MYSQLD_DATADIR=`select @@datadir`;
+ALTER TABLE t1 DISCARD TABLESPACE;
+copy_file $targetdir/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd;
+copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg;
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+DROP TABLE t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.test b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
index 54fffb7d..245fcc31 100644
--- a/mysql-test/suite/mariabackup/encrypted_page_compressed.test
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
@@ -37,7 +37,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
--error 1
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --core-file > $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --core-file > $backuplog;
--enable_result_log
--let SEARCH_PATTERN=Database page corruption detected.*
diff --git a/mysql-test/suite/mariabackup/encrypted_page_corruption.test b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
index 1beb020b..9ba958c6 100644
--- a/mysql-test/suite/mariabackup/encrypted_page_corruption.test
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
@@ -65,7 +65,7 @@ if (`select @@innodb_checksum_algorithm LIKE '%full_crc32'`)
}
--disable_result_log
--error $expect_error
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --extended-validation --target-dir=$targetdir --core-file > $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --extended-validation --target-dir=$targetdir --core-file > $backuplog;
--enable_result_log
@@ -77,7 +77,7 @@ rmdir $targetdir;
# Due to very constructed nature of the "corruption" (faking checksums), the "corruption" won't be found without --extended-validation
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
drop table t1;
diff --git a/mysql-test/suite/mariabackup/extra_lsndir.test b/mysql-test/suite/mariabackup/extra_lsndir.test
index 092ee34c..f880edbe 100644
--- a/mysql-test/suite/mariabackup/extra_lsndir.test
+++ b/mysql-test/suite/mariabackup/extra_lsndir.test
@@ -2,7 +2,7 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
let $extra_lsndir=$MYSQLTEST_VARDIR/tmp/extra_lsndir;
mkdir $extra_lsndir;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --extra-lsndir=$extra_lsndir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --extra-lsndir=$extra_lsndir;
--enable_result_log
list_files $extra_lsndir;
rmdir $extra_lsndir;
diff --git a/mysql-test/suite/mariabackup/full_backup.test b/mysql-test/suite/mariabackup/full_backup.test
index c6a21112..385f3b87 100644
--- a/mysql-test/suite/mariabackup/full_backup.test
+++ b/mysql-test/suite/mariabackup/full_backup.test
@@ -7,7 +7,7 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir > $backup_log 2>&1;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --parallel=10 > $backup_log 2>&1;
--enable_result_log
# The following warning must not appear after MDEV-27343 fix
diff --git a/mysql-test/suite/mariabackup/huge_lsn.test b/mysql-test/suite/mariabackup/huge_lsn.test
index 8850e9d8..0da67744 100644
--- a/mysql-test/suite/mariabackup/huge_lsn.test
+++ b/mysql-test/suite/mariabackup/huge_lsn.test
@@ -79,7 +79,7 @@ INSERT INTO t VALUES(1);
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
SET GLOBAL innodb_flush_log_at_trx_commit=1;
INSERT INTO t VALUES(2);
diff --git a/mysql-test/suite/mariabackup/incremental_encrypted.test b/mysql-test/suite/mariabackup/incremental_encrypted.test
index d5570f20..d4619e1f 100644
--- a/mysql-test/suite/mariabackup/incremental_encrypted.test
+++ b/mysql-test/suite/mariabackup/incremental_encrypted.test
@@ -7,6 +7,12 @@ if (!$EXAMPLE_KEY_MANAGEMENT_SO)
}
call mtr.add_suppression("InnoDB: New log files created");
+if (`select @@innodb_page_size=65536`)
+{
+ # this needs too much memory for 32bit
+ source include/have_64bit.inc;
+}
+
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
@@ -18,7 +24,7 @@ INSERT INTO t VALUES(1);
echo # Create full backup , modify table, then create incremental/differential backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
SET GLOBAL innodb_flush_log_at_trx_commit = 1;
@@ -26,7 +32,7 @@ INSERT INTO t VALUES(2);
SELECT * FROM t;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$incremental_dir --incremental-basedir=$basedir;
echo # Prepare full backup, apply incremental one;
exec $XTRABACKUP --prepare --target-dir=$basedir;
exec $XTRABACKUP --prepare --target-dir=$basedir --incremental-dir=$incremental_dir;
diff --git a/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.result b/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.result
new file mode 100644
index 00000000..46fdfe77
--- /dev/null
+++ b/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.result
@@ -0,0 +1,5 @@
+CREATE TABLE IF NOT EXISTS t1 ( col1 INT, col_text TEXT ) ENGINE = InnoDB;
+ALTER TABLE t1 ADD FULLTEXT KEY `ftidx1` ( col_text );
+# xtrabackup backup
+SET debug_sync='RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.test b/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.test
new file mode 100644
index 00000000..d4c4d70d
--- /dev/null
+++ b/mysql-test/suite/mariabackup/innodb_ddl_on_intermediate_table.test
@@ -0,0 +1,18 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+--let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
+--mkdir $targetdir
+
+CREATE TABLE IF NOT EXISTS t1 ( col1 INT, col_text TEXT ) ENGINE = InnoDB;
+ALTER TABLE t1 ADD FULLTEXT KEY `ftidx1` ( col_text );
+
+echo # xtrabackup backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events,emulate_ddl_on_intermediate_table;
+--enable_result_log
+
+SET debug_sync='RESET';
+rmdir $targetdir;
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/lock_ddl_per_table.test b/mysql-test/suite/mariabackup/lock_ddl_per_table.test
index 18c20771..98e7c5ea 100644
--- a/mysql-test/suite/mariabackup/lock_ddl_per_table.test
+++ b/mysql-test/suite/mariabackup/lock_ddl_per_table.test
@@ -16,7 +16,7 @@ CREATE TABLE `bobby``tables` (id INT, name VARCHAR(50), purchased DATE) ENGINE I
set global innodb_log_checkpoint_now = 1;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --lock-ddl-per-table=1 --dbug=+d,check_mdl_lock_works;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --lock-ddl-per-table=1 --dbug=+d,check_mdl_lock_works;
--enable_result_log
DROP TABLE t;
DROP TABLE `bobby``tables`;
diff --git a/mysql-test/suite/mariabackup/log_checksum_mismatch.test b/mysql-test/suite/mariabackup/log_checksum_mismatch.test
index c8baf66e..6cf4b354 100644
--- a/mysql-test/suite/mariabackup/log_checksum_mismatch.test
+++ b/mysql-test/suite/mariabackup/log_checksum_mismatch.test
@@ -7,7 +7,7 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,log_intermittent_checksum_mismatch --core-file > $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,log_intermittent_checksum_mismatch --core-file > $backuplog;
--enable_result_log
--let SEARCH_RANGE = 10000000
diff --git a/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.result b/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.result
new file mode 100644
index 00000000..51b4dfc5
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.result
@@ -0,0 +1,20 @@
+#
+# Start of 10.5 tests
+#
+#
+# MENT-1587 mariabackup failing due to aria log file copy
+#
+CREATE TABLE t1(i INT PRIMARY KEY) ENGINE=ARIA;
+INSERT INTO t1 VALUES (10);
+# Prepare full backup
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+i
+10
+DROP TABLE t1;
+#
+# End of 10.5 tests
+#
diff --git a/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.test b/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.test
new file mode 100644
index 00000000..7fef9d61
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_file_unexpected_large_number_in_name.test
@@ -0,0 +1,47 @@
+--let $MYSQLD_DATADIR=`select @@datadir`
+
+--echo #
+--echo # Start of 10.5 tests
+--echo #
+
+--echo #
+--echo # MENT-1587 mariabackup failing due to aria log file copy
+--echo #
+
+
+--let $basedir=$MYSQLTEST_VARDIR/tmp/backup
+--let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1
+
+CREATE TABLE t1(i INT PRIMARY KEY) ENGINE=ARIA;
+INSERT INTO t1 VALUES (10);
+
+#
+# Add a log file with a number outside of last_log_number
+# specified in aria_log_control.
+# The actual file number written in the header is 4.
+# Let's rename it to 100 for test purposes.
+# Hopefully 100 should be enough.
+#
+--copy_file suite/mariabackup/std_data/ment1587_aria_log.00000004 $MYSQLD_DATADIR/aria_log.00000100
+
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir
+--enable_result_log
+
+--disable_result_log
+--echo # Prepare full backup
+--exec $XTRABACKUP --prepare --target-dir=$basedir
+--enable_result_log
+
+--let $targetdir=$basedir
+--source include/restart_and_restore.inc
+--enable_result_log
+--rmdir $basedir
+
+SELECT * FROM t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
diff --git a/mysql-test/suite/mariabackup/log_tables.result b/mysql-test/suite/mariabackup/log_tables.result
new file mode 100644
index 00000000..840efc71
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_tables.result
@@ -0,0 +1,24 @@
+CREATE TABLE t(i INT)
+ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+SET GLOBAL general_log = 1;
+SET GLOBAL log_output = 'TABLE';
+INSERT INTO t VALUES (1);
+SELECT * FROM mysql.general_log
+WHERE argument LIKE "INSERT INTO %" AND
+(command_type = "Query" OR command_type = "Execute") ;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query INSERT INTO t VALUES (1)
+# Insert new row into general_log table after it has been copied on BLOCK_DDL.
+# Backup to dir.
+# Xtrabackup prepare.
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM mysql.general_log
+WHERE argument LIKE "INSERT INTO %" AND
+(command_type = "Query" OR command_type = "Execute") ;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query INSERT INTO t VALUES (1)
+TIMESTAMP USER_HOST THREAD_ID 1 Query INSERT INTO test.t VALUES (2)
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/log_tables.test b/mysql-test/suite/mariabackup/log_tables.test
new file mode 100644
index 00000000..fe540a1c
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_tables.test
@@ -0,0 +1,49 @@
+# Test for copying log tables tail
+--source include/have_aria.inc
+--source include/have_debug.inc
+
+--let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
+
+CREATE TABLE t(i INT)
+ ENGINE ARIA TRANSACTIONAL=1 ROW_FORMAT=PAGE PAGE_CHECKSUM=1;
+
+--let $general_log_old = `SELECT @@global.general_log`
+--let $log_output_old = `SELECT @@global.log_output`
+
+SET GLOBAL general_log = 1;
+SET GLOBAL log_output = 'TABLE';
+
+INSERT INTO t VALUES (1);
+
+--replace_column 1 TIMESTAMP 2 USER_HOST 3 THREAD_ID 5 Query
+--sorted_result
+SELECT * FROM mysql.general_log
+ WHERE argument LIKE "INSERT INTO %" AND
+ (command_type = "Query" OR command_type = "Execute") ;
+
+--echo # Insert new row into general_log table after it has been copied on BLOCK_DDL.
+--let after_stage_block_ddl=INSERT INTO test.t VALUES (2)
+
+--echo # Backup to dir.
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events
+--enable_result_log
+
+--echo # Xtrabackup prepare.
+--disable_result_log
+--exec $XTRABACKUP --prepare --target-dir=$targetdir
+--source include/restart_and_restore.inc
+--enable_result_log
+
+--replace_column 1 TIMESTAMP 2 USER_HOST 3 THREAD_ID 5 Query
+--sorted_result
+SELECT * FROM mysql.general_log
+ WHERE argument LIKE "INSERT INTO %" AND
+ (command_type = "Query" OR command_type = "Execute") ;
+
+--rmdir $targetdir
+DROP TABLE t;
+--disable_query_log
+--eval SET GLOBAL general_log = $general_log_old
+--eval SET GLOBAL log_output = $log_output_old
+--enable_query_log
diff --git a/mysql-test/suite/mariabackup/mdev-14447.test b/mysql-test/suite/mariabackup/mdev-14447.test
index 79a0d075..74ae1378 100644
--- a/mysql-test/suite/mariabackup/mdev-14447.test
+++ b/mysql-test/suite/mariabackup/mdev-14447.test
@@ -11,7 +11,7 @@ CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varcha
echo # Create full backup , modify table, then create incremental/differential backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
SET debug_dbug='+d,skip_page_checksum',foreign_key_checks=0,unique_checks=0;
diff --git a/mysql-test/suite/mariabackup/missing_ibd.test b/mysql-test/suite/mariabackup/missing_ibd.test
index f406a555..76d5a4ff 100644
--- a/mysql-test/suite/mariabackup/missing_ibd.test
+++ b/mysql-test/suite/mariabackup/missing_ibd.test
@@ -24,7 +24,7 @@ call mtr.add_suppression('InnoDB: Ignoring tablespace for test/t1 because it cou
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/nolock_ddl_during_backup_end.test b/mysql-test/suite/mariabackup/nolock_ddl_during_backup_end.test
index f6bc51bd..c75c063a 100644
--- a/mysql-test/suite/mariabackup/nolock_ddl_during_backup_end.test
+++ b/mysql-test/suite/mariabackup/nolock_ddl_during_backup_end.test
@@ -9,6 +9,6 @@ CREATE TABLE t1(i int) ENGINE=INNODB;
echo # xtrabackup backup;
--disable_result_log
error 1;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --no-lock --dbug=+d,mariabackup_events;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --no-lock --dbug=+d,mariabackup_events;
--enable_result_log
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/partial.result b/mysql-test/suite/mariabackup/partial.result
index 981bef4e..9ff3a20c 100644
--- a/mysql-test/suite/mariabackup/partial.result
+++ b/mysql-test/suite/mariabackup/partial.result
@@ -14,6 +14,14 @@ ALTER TABLE t1 IMPORT TABLESPACE;
SELECT * FROM t1;
i
1
+# MDEV-33023 Crash in mariadb-backup --prepare --export after --prepare
+t1.cfg
+t21.cfg
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT * FROM t1;
+i
+1
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t21;
diff --git a/mysql-test/suite/mariabackup/partial.test b/mysql-test/suite/mariabackup/partial.test
index d0d07daf..af6da274 100644
--- a/mysql-test/suite/mariabackup/partial.test
+++ b/mysql-test/suite/mariabackup/partial.test
@@ -14,7 +14,7 @@ echo # xtrabackup backup;
let targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables=test.*1" --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 "--tables=test.*1" --target-dir=$targetdir;
--enable_result_log
list_files $targetdir/test *.ibd;
list_files $targetdir/test *.new;
@@ -55,6 +55,25 @@ copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg;
ALTER TABLE t1 IMPORT TABLESPACE;
SELECT * FROM t1;
+
+--echo # MDEV-33023 Crash in mariadb-backup --prepare --export after --prepare
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$server_cnf --defaults-group-suffix=.1 --prepare --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$server_cnf --defaults-group-suffix=.1 --prepare --export --target-dir=$targetdir;
+--enable_result_log
+
+list_files $targetdir/test *.cfg;
+# There must not be binary logs created on --prepare step
+list_files $targetdir/ mysqld-bin.*;
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+ALTER TABLE t1 DISCARD TABLESPACE;
+copy_file $targetdir/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd;
+copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg;
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+SELECT * FROM t1;
+
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t21;
diff --git a/mysql-test/suite/mariabackup/partial_exclude.test b/mysql-test/suite/mariabackup/partial_exclude.test
index 6a1ae13b..973e7a4f 100644
--- a/mysql-test/suite/mariabackup/partial_exclude.test
+++ b/mysql-test/suite/mariabackup/partial_exclude.test
@@ -28,7 +28,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables-exclude=test.*2" "--databases-exclude=db2" --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 "--tables-exclude=test.*2" "--databases-exclude=db2" --target-dir=$targetdir;
--enable_result_log
COMMIT;
diff --git a/mysql-test/suite/mariabackup/partition_datadir.test b/mysql-test/suite/mariabackup/partition_datadir.test
index 36520d33..078055a5 100644
--- a/mysql-test/suite/mariabackup/partition_datadir.test
+++ b/mysql-test/suite/mariabackup/partition_datadir.test
@@ -14,7 +14,7 @@ PARTITION BY RANGE (i)
PARTITION p3 VALUES LESS THAN (400) DATA DIRECTORY = '$MYSQLTEST_VARDIR/partitdata',
PARTITION p4 VALUES LESS THAN MAXVALUE);
INSERT INTO t VALUES (1), (101), (201), (301), (401);
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
exec $XTRABACKUP --prepare --target-dir=$targetdir;
DROP TABLE t;
rmdir $MYSQLTEST_VARDIR/partitdata;
diff --git a/mysql-test/suite/mariabackup/partition_partial.test b/mysql-test/suite/mariabackup/partition_partial.test
index 7ccc42c0..30e31a9d 100644
--- a/mysql-test/suite/mariabackup/partition_partial.test
+++ b/mysql-test/suite/mariabackup/partition_partial.test
@@ -16,7 +16,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables=test.t1" --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 "--tables=test.t1" --target-dir=$targetdir;
--enable_result_log
INSERT INTO t1 VALUES (1), (101), (201), (301);
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.result b/mysql-test/suite/mariabackup/rename_during_backup.result
index e071b6b2..ba509efe 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.result
+++ b/mysql-test/suite/mariabackup/rename_during_backup.result
@@ -61,3 +61,15 @@ SELECT * from t6;
i
5
DROP TABLE t6;
+#
+# MDEV-33011 mariabackup --backup: FATAL ERROR: ... Can't open datafile cool_down/t3
+#
+# Simulate zero initialized page to defer tablespace load after rename log is found
+SET @save_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+# RENAME that fails after redo log entry is written and flushed
+RENAME TABLE t1 TO non_existing_db.t1;
+ERROR HY000: Error on rename of './test/t1' to './non_existing_db/t1' (errno: 168 "Unknown (generic) error from engine")
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.test b/mysql-test/suite/mariabackup/rename_during_backup.test
index d8e40b28..44036691 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.test
+++ b/mysql-test/suite/mariabackup/rename_during_backup.test
@@ -92,4 +92,31 @@ SELECT * from t6;
DROP TABLE t6;
rmdir $targetdir;
+--echo #
+--echo # MDEV-33011 mariabackup --backup: FATAL ERROR: ... Can't open datafile cool_down/t3
+--echo #
+--disable_query_log
+call mtr.add_suppression("InnoDB: Cannot rename '.*t1.ibd' to '.*non_existing_db.*' because the target schema directory doesn't exist");
+--enable_query_log
+
+mkdir $targetdir;
+
+--echo # Simulate zero initialized page to defer tablespace load after rename log is found
+SET @save_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+--echo # RENAME that fails after redo log entry is written and flushed
+--replace_result "\\" "/"
+--error ER_ERROR_ON_RENAME
+RENAME TABLE t1 TO non_existing_db.t1;
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+--enable_result_log
+
+DROP TABLE t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/rename_during_mdl_lock.test b/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
index 212b7aab..b14b04a5 100644
--- a/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
+++ b/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
@@ -3,7 +3,7 @@ let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
mkdir $targetdir;
CREATE TABLE t1(i int) ENGINE INNODB;
set global innodb_log_checkpoint_now = 1;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --lock-ddl-per-table --dbug=+d,rename_during_mdl_lock_table;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --lock-ddl-per-table --dbug=+d,rename_during_mdl_lock_table;
echo # xtrabackup prepare;
--disable_result_log
diff --git a/mysql-test/suite/mariabackup/rpl_clone_slave.result b/mysql-test/suite/mariabackup/rpl_clone_slave.result
new file mode 100644
index 00000000..2e6c2701
--- /dev/null
+++ b/mysql-test/suite/mariabackup/rpl_clone_slave.result
@@ -0,0 +1,202 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-33342 Add a replication MTR test cloning the slave with mariadb-backup
+#
+connection slave;
+stop slave;
+change master to master_use_gtid=no;
+start slave;
+connection master;
+connection slave;
+##############################################################
+### Initial block with some transactions
+### Slave: Make sure replication is not using GTID
+connection slave;
+# Using_Gtid=No
+### Master: Create and populate t1
+connection master;
+CREATE TABLE t1(a TEXT) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#00:stmt#00 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#00:stmt#01 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#00:stmt#02 - slave run#0, before backup');
+COMMIT;
+connection slave;
+##############################################################
+### Run the last transaction before mariadb-backup --backup
+### Remember SHOW MASTER STATUS and @@gtid_binlog_pos
+### before and after the transaction.
+### Master: Rember MASTER STATUS and @@gtid_binlog_pos before tr#01
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos before tr#01
+connection slave;
+### Master: Run the actual last transaction before the backup
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#01:stmt#00 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#01:stmt#01 - slave run#0, before backup');
+INSERT INTO t1 VALUES ('tr#01:stmt#02 - slave run#0, before backup');
+COMMIT;
+connection slave;
+### Master: Remember MASTER STATUS and @@gtid_binlog_pos after tr#01
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos after tr#01
+connection slave;
+##############################################################
+### Running `mariadb-backup --backup,--prepare` and checking
+### that xtrabackup_slave_info and xtrabackup_binlog_info are OK
+### Slave: Create a backup
+### Slave: Prepare the backup
+### Slave: xtrabackup files:
+############################ xtrabackup_slave_info
+CHANGE MASTER TO MASTER_LOG_FILE='master_after_tr01_show_master_status_file', MASTER_LOG_POS=master_after_tr01_show_master_status_position;
+############################ xtrabackup_binlog_info
+slave_after_tr01_show_master_status_file slave_after_tr01_show_master_status_position slave_after_tr01_gtid_binlog_pos
+############################
+##############################################################
+### Run more transactions after the backup:
+### - while the slave is still running, then
+### - while the slave is shut down
+### Master: Run another transaction while the slave is still running
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup');
+INSERT INTO t1 VALUES ('tr#02:stmt#01 - slave run#0, after backup');
+INSERT INTO t1 VALUES ('tr#02:stmt@02 - slave run#0, after backup');
+COMMIT;
+connection slave;
+### Master: Remember MASTER STATUS and @@gtid_binlog_pos after tr#02
+connection master;
+### Slave: Remember MASTER STATUS and @@gtid_binlog_pos after tr#02
+connection slave;
+### Master: Checking SHOW BINLOG EVENTS
+connection master;
+SHOW BINLOG EVENTS IN 'master_after_tr01_show_master_status_file' FROM master_after_tr01_show_master_status_position LIMIT 0,1;
+Log_name master_after_tr01_show_master_status_file
+Pos master_after_tr01_show_master_status_position
+Event_type Gtid
+Server_id #
+End_log_pos #
+Info BEGIN GTID master_after_tr02_gtid_binlog_pos
+SHOW BINLOG EVENTS IN 'master_after_tr01_show_master_status_file' FROM master_after_tr01_show_master_status_position LIMIT 1,1;
+Log_name master_after_tr01_show_master_status_file
+Pos #
+Event_type Query_or_Annotate_rows
+Server_id #
+End_log_pos #
+Info INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup')
+### Slave: Checking SHOW BINLOG EVENTS
+connection slave;
+SHOW BINLOG EVENTS IN 'slave_after_tr01_show_master_status_file' FROM slave_after_tr01_show_master_status_position LIMIT 0,1;
+Log_name slave_after_tr01_show_master_status_file
+Pos #
+Event_type Gtid
+Server_id 1
+End_log_pos #
+Info BEGIN GTID slave_after_tr02_gtid_binlog_pos
+SHOW BINLOG EVENTS IN 'slave_after_tr01_show_master_status_file' FROM slave_after_tr01_show_master_status_position LIMIT 1,1;
+Log_name slave_after_tr01_show_master_status_file
+Pos #
+Event_type Query_or_Annotate_rows
+Server_id #
+End_log_pos #
+Info INSERT INTO t1 VALUES ('tr#02:stmt#00 - slave run#0, after backup')
+### Slave: Stop replication
+connection slave;
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+RESET SLAVE;
+Warnings:
+Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
+### Slave: Shutdown the server
+include/rpl_stop_server.inc [server_number=2]
+### Master: Run a transaction while the slave is shut down
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#03:stmt#00 - after slave run#0, slave is shut down, after backup');
+INSERT INTO t1 VALUES ('tr#03:stmt#01 - after slave run#0, slave is shut down, after backup');
+INSERT INTO t1 VALUES ('tr#03:stmt#02 - after slave run#0, slave is shut down, after backup');
+COMMIT;
+##############################################################
+### Emulate starting a new virgin slave
+### Slave: Remove the data directory
+### Slave: Copy back the backup
+### Slave: Restart the server
+include/rpl_start_server.inc [server_number=2]
+### Slave: Display the restored data before START SLAVE
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+### Slave: Execute the CHANGE MASTER statement to set up the host and port
+CHANGE MASTER '' TO MASTER_USER='root', MASTER_HOST='127.0.0.1', MASTER_PORT=###, MASTER_CONNECT_RETRY=1;
+### Slave: Execute the CHANGE MASTER statement from xtrabackup_slave_info
+CHANGE MASTER TO MASTER_LOG_FILE='master_after_tr01_show_master_status_file', MASTER_LOG_POS=master_after_tr01_show_master_status_position;
+Warnings:
+Note 4190 CHANGE MASTER TO is implicitly changing the value of 'Using_Gtid' from 'Slave_Pos' to 'No'
+### Slave: Execute START SLAVE
+include/start_slave.inc
+### Master: Wait for the slave to apply all master events
+connection master;
+connection slave;
+### Slave: Make sure replication is not using GTID after the slave restart
+connection slave;
+# Using_Gtid=No
+### Slave: Display the restored data after START SLAVE
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+tr#02:stmt#00 - slave run#0, after backup
+tr#02:stmt#01 - slave run#0, after backup
+tr#02:stmt@02 - slave run#0, after backup
+tr#03:stmt#00 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#01 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#02 - after slave run#0, slave is shut down, after backup
+##############################################################
+### Continue master transactions, check the new slave replicates well.
+### Master: Run a transaction after restarting replication
+connection master;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('tr#04:stmt#00 - slave run#1');
+INSERT INTO t1 VALUES ('tr#04:stmt#01 - slave run#1');
+INSERT INTO t1 VALUES ('tr#04:stmt#02 - slave run#1');
+COMMIT;
+connection slave;
+### Slave: Display the restored data + new transactions
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a
+tr#00:stmt#00 - slave run#0, before backup
+tr#00:stmt#01 - slave run#0, before backup
+tr#00:stmt#02 - slave run#0, before backup
+tr#01:stmt#00 - slave run#0, before backup
+tr#01:stmt#01 - slave run#0, before backup
+tr#01:stmt#02 - slave run#0, before backup
+tr#02:stmt#00 - slave run#0, after backup
+tr#02:stmt#01 - slave run#0, after backup
+tr#02:stmt@02 - slave run#0, after backup
+tr#03:stmt#00 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#01 - after slave run#0, slave is shut down, after backup
+tr#03:stmt#02 - after slave run#0, slave is shut down, after backup
+tr#04:stmt#00 - slave run#1
+tr#04:stmt#01 - slave run#1
+tr#04:stmt#02 - slave run#1
+##############################################################
+### Cleanup
+### Removing the backup directory
+connection master;
+DROP TABLE t1;
+connection slave;
+include/rpl_end.inc
diff --git a/mysql-test/suite/mariabackup/rpl_clone_slave.test b/mysql-test/suite/mariabackup/rpl_clone_slave.test
new file mode 100644
index 00000000..7d93f723
--- /dev/null
+++ b/mysql-test/suite/mariabackup/rpl_clone_slave.test
@@ -0,0 +1,17 @@
+#
+# Cloning a slave using mariadb-backup
+#
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo #
+--echo # MDEV-33342 Add a replication MTR test cloning the slave with mariadb-backup
+--echo #
+
+connection slave;
+stop slave;
+change master to master_use_gtid=no;
+start slave;
+
+--let cnf=mariadb_to_mariadb
+--source include/rpl_clone_slave_using_mariadb-backup.inc
diff --git a/mysql-test/suite/mariabackup/small_ibd.test b/mysql-test/suite/mariabackup/small_ibd.test
index e8175fce..bb476b87 100644
--- a/mysql-test/suite/mariabackup/small_ibd.test
+++ b/mysql-test/suite/mariabackup/small_ibd.test
@@ -13,7 +13,7 @@ echo #backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
remove_file $_datadir/test/small.ibd;
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/std_data/ment1587_aria_log.00000004 b/mysql-test/suite/mariabackup/std_data/ment1587_aria_log.00000004
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/std_data/ment1587_aria_log.00000004
diff --git a/mysql-test/suite/mariabackup/suite.opt b/mysql-test/suite/mariabackup/suite.opt
index 1df46435..e6b20c32 100644
--- a/mysql-test/suite/mariabackup/suite.opt
+++ b/mysql-test/suite/mariabackup/suite.opt
@@ -1 +1 @@
---innodb --loose-changed_page_bitmaps --innodb-sys-tables --innodb-flush-log-at-trx-commit=2 --sequence
+--innodb --innodb-sys-tables --innodb-flush-log-at-trx-commit=2 --sequence
diff --git a/mysql-test/suite/mariabackup/system_versioning.test b/mysql-test/suite/mariabackup/system_versioning.test
index 1ced00b4..04a5f72a 100644
--- a/mysql-test/suite/mariabackup/system_versioning.test
+++ b/mysql-test/suite/mariabackup/system_versioning.test
@@ -5,7 +5,7 @@ update t set a=2;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
insert into t values (3);
@@ -32,7 +32,7 @@ insert into t values (1);
update t set a=2;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
insert into t values (3);
diff --git a/mysql-test/suite/mariabackup/truncate_during_backup.test b/mysql-test/suite/mariabackup/truncate_during_backup.test
index 46ee244d..8928fc4e 100644
--- a/mysql-test/suite/mariabackup/truncate_during_backup.test
+++ b/mysql-test/suite/mariabackup/truncate_during_backup.test
@@ -7,7 +7,7 @@ CREATE TABLE t1 ENGINE=InnoDB SELECT 1;
--let after_load_tablespaces=TRUNCATE test.t1
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --dbug=+d,mariabackup_events;
--enable_result_log
--let after_load_tablespaces=
diff --git a/mysql-test/suite/mariabackup/undo_space_id.result b/mysql-test/suite/mariabackup/undo_space_id.result
index b03b9705..fd720d12 100644
--- a/mysql-test/suite/mariabackup/undo_space_id.result
+++ b/mysql-test/suite/mariabackup/undo_space_id.result
@@ -11,3 +11,10 @@ undo002
undo001
undo002
DROP TABLE t1;
+#
+# MDEV-33980 mariadb-backup --backup is missing
+# retry logic for undo tablespaces
+#
+# xtrabackup backup
+# Display undo log files from target directory
+FOUND 5 /Retrying to read undo tablespace*/ in backup.log
diff --git a/mysql-test/suite/mariabackup/undo_space_id.test b/mysql-test/suite/mariabackup/undo_space_id.test
index 2c56492f..32782354 100644
--- a/mysql-test/suite/mariabackup/undo_space_id.test
+++ b/mysql-test/suite/mariabackup/undo_space_id.test
@@ -11,7 +11,7 @@ INSERT INTO t1 VALUES(1);
--echo # xtrabackup backup
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
--echo # Display undo log files from target directory
list_files $basedir undo*;
@@ -23,3 +23,22 @@ list_files $basedir undo*;
DROP TABLE t1;
rmdir $basedir;
+
+--echo #
+--echo # MDEV-33980 mariadb-backup --backup is missing
+--echo # retry logic for undo tablespaces
+--echo #
+let $backuplog= $MYSQLTEST_VARDIR/tmp/backup.log;
+--echo # xtrabackup backup
+--disable_result_log
+--error 1
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir --dbug=+d,undo_space_read_fail > $backuplog;
+--enable_result_log
+--echo # Display undo log files from target directory
+list_files $basedir undo*;
+
+--let SEARCH_PATTERN=Retrying to read undo tablespace*
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+rmdir $basedir;
+remove_file $backuplog;
diff --git a/mysql-test/suite/mariabackup/unencrypted_page_compressed.test b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
index 700c4dd2..31e8323b 100644
--- a/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
+++ b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
@@ -38,7 +38,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
--error 1
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --core-file > $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir --core-file > $backuplog;
--enable_result_log
--let SEARCH_PATTERN=Database page corruption detected.*
diff --git a/mysql-test/suite/mariabackup/unsupported_redo.test b/mysql-test/suite/mariabackup/unsupported_redo.test
index 97e1cad2..38cceb2f 100644
--- a/mysql-test/suite/mariabackup/unsupported_redo.test
+++ b/mysql-test/suite/mariabackup/unsupported_redo.test
@@ -15,7 +15,7 @@ ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
echo # No longer fails during full backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
DROP TABLE t1;
@@ -29,13 +29,13 @@ INSERT INTO t1(a) select 1 union select 2 union select 3;
--echo # Create full backup , modify table, then fails during creation of
--echo # incremental/differential backup
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
--enable_result_log
ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$incremental_dir --incremental-basedir=$basedir;
--enable_result_log
DROP TABLE t1;
@@ -58,7 +58,7 @@ ALTER TABLE t21 FORCE, ALGORITHM=INPLACE;
--echo # unsupported redo log for the table t21.
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables-exclude=test.t21" --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 "--tables-exclude=test.t21" --target-dir=$targetdir;
--enable_result_log
--list_files $targetdir/test *.ibd
--list_files $targetdir/test *.new
diff --git a/mysql-test/suite/mariabackup/xb_aws_key_management.test b/mysql-test/suite/mariabackup/xb_aws_key_management.test
index c8a12f6e..a2e407d3 100644
--- a/mysql-test/suite/mariabackup/xb_aws_key_management.test
+++ b/mysql-test/suite/mariabackup/xb_aws_key_management.test
@@ -10,7 +10,7 @@ INSERT INTO t VALUES('foobar1');
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
exec $XTRABACKUP --prepare --target-dir=$targetdir;
-- source include/restart_and_restore.inc
--enable_result_log
diff --git a/mysql-test/suite/mariabackup/xb_file_key_management.test b/mysql-test/suite/mariabackup/xb_file_key_management.test
index 4d27b2df..eca69c97 100644
--- a/mysql-test/suite/mariabackup/xb_file_key_management.test
+++ b/mysql-test/suite/mariabackup/xb_file_key_management.test
@@ -8,7 +8,7 @@ DELETE FROM t LIMIT 1;
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
--let SEARCH_RANGE = 10000000
diff --git a/mysql-test/suite/mariabackup/xb_history.test b/mysql-test/suite/mariabackup/xb_history.test
index f9374a1a..e05b7721 100644
--- a/mysql-test/suite/mariabackup/xb_history.test
+++ b/mysql-test/suite/mariabackup/xb_history.test
@@ -6,7 +6,7 @@ DROP TABLE IF EXISTS mysql.mariadb_backup_history;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --history=foo --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --history=foo --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/xb_page_compress.test b/mysql-test/suite/mariabackup/xb_page_compress.test
index 7e806e6d..e2819e26 100644
--- a/mysql-test/suite/mariabackup/xb_page_compress.test
+++ b/mysql-test/suite/mariabackup/xb_page_compress.test
@@ -27,7 +27,7 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables=test.*1" --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 "--tables=test.*1" --target-dir=$targetdir;
echo # xtrabackup prepare;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group-suffix=.1 --prepare --export --target-dir=$targetdir;
--enable_result_log
diff --git a/mysql-test/suite/mariabackup/xb_partition.test b/mysql-test/suite/mariabackup/xb_partition.test
index 1c8eeaa1..13ce8fa2 100644
--- a/mysql-test/suite/mariabackup/xb_partition.test
+++ b/mysql-test/suite/mariabackup/xb_partition.test
@@ -39,7 +39,7 @@ INSERT INTO isam_p VALUES (1), (101), (201), (301);
let $targetdir=$MYSQLTEST_VARDIR/tmp;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir/full;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir/full;
--enable_result_log
DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/xb_rocksdb.test b/mysql-test/suite/mariabackup/xb_rocksdb.test
index e41f3b2b..6c23fe3d 100644
--- a/mysql-test/suite/mariabackup/xb_rocksdb.test
+++ b/mysql-test/suite/mariabackup/xb_rocksdb.test
@@ -8,9 +8,9 @@ echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
let $stream=$MYSQLTEST_VARDIR/tmp/backup.xb;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir $backup_extra_param;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir $backup_extra_param;
--enable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --stream=xbstream > $stream 2>$MYSQLTEST_VARDIR/tmp/backup_stream.log;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --stream=xbstream > $stream 2>$MYSQLTEST_VARDIR/tmp/backup_stream.log;
INSERT INTO t VALUES(2);
diff --git a/mysql-test/suite/mariabackup/xb_rocksdb_datadir.test b/mysql-test/suite/mariabackup/xb_rocksdb_datadir.test
index c2e90d90..2a0b2a46 100644
--- a/mysql-test/suite/mariabackup/xb_rocksdb_datadir.test
+++ b/mysql-test/suite/mariabackup/xb_rocksdb_datadir.test
@@ -9,7 +9,7 @@ INSERT INTO t VALUES(1);
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
INSERT INTO t VALUES(2);
diff --git a/mysql-test/suite/mariabackup/xbstream.test b/mysql-test/suite/mariabackup/xbstream.test
index 212ac598..8429a3b5 100644
--- a/mysql-test/suite/mariabackup/xbstream.test
+++ b/mysql-test/suite/mariabackup/xbstream.test
@@ -8,7 +8,7 @@ mkdir $targetdir;
let $streamfile=$MYSQLTEST_VARDIR/tmp/backup.xb;
echo # xtrabackup backup to stream;
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --databases-exclude=foobar --stream=xbstream > $streamfile 2>$targetdir/backup_stream.log;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --databases-exclude=foobar --stream=xbstream > $streamfile 2>$targetdir/backup_stream.log;
echo # xbstream extract;
--disable_result_log
exec $XBSTREAM -x -C $targetdir < $streamfile;
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.result b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result
index e142ff8b..88b525e2 100644
--- a/mysql-test/suite/multi_source/gtid_ignore_duplicates.result
+++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result
@@ -174,6 +174,105 @@ a
10
11
12
+*** MDEV-33475: --gtid-ignore-duplicate can double-apply event in case of parallel replication retry
+connection server_2;
+STOP SLAVE "c2b";
+SET default_master_connection = "c2b";
+include/wait_for_slave_to_stop.inc
+STOP SLAVE "a2b";
+SET default_master_connection = "a2b";
+include/wait_for_slave_to_stop.inc
+connection server_1;
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t2 VALUES (0, 0);
+INSERT INTO t2 VALUES (1, 0);
+INSERT INTO t2 VALUES (2, 0);
+INSERT INTO t2 VALUES (3, 0);
+INSERT INTO t2 VALUES (4, 0);
+INSERT INTO t2 VALUES (5, 0);
+INSERT INTO t2 VALUES (6, 0);
+INSERT INTO t2 VALUES (7, 0);
+INSERT INTO t2 VALUES (8, 0);
+INSERT INTO t2 VALUES (9, 0);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (0+10, 100);
+UPDATE t2 SET b=0 WHERE a<10;
+INSERT INTO t2 VALUES (0+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (1+10, 100);
+UPDATE t2 SET b=1 WHERE a<10;
+INSERT INTO t2 VALUES (1+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (2+10, 100);
+UPDATE t2 SET b=2 WHERE a<10;
+INSERT INTO t2 VALUES (2+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (3+10, 100);
+UPDATE t2 SET b=3 WHERE a<10;
+INSERT INTO t2 VALUES (3+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (4+10, 100);
+UPDATE t2 SET b=4 WHERE a<10;
+INSERT INTO t2 VALUES (4+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (5+10, 100);
+UPDATE t2 SET b=5 WHERE a<10;
+INSERT INTO t2 VALUES (5+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (6+10, 100);
+UPDATE t2 SET b=6 WHERE a<10;
+INSERT INTO t2 VALUES (6+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (7+10, 100);
+UPDATE t2 SET b=7 WHERE a<10;
+INSERT INTO t2 VALUES (7+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (8+10, 100);
+UPDATE t2 SET b=8 WHERE a<10;
+INSERT INTO t2 VALUES (8+20, 200);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (9+10, 100);
+UPDATE t2 SET b=9 WHERE a<10;
+INSERT INTO t2 VALUES (9+20, 200);
+COMMIT;
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+COUNT(*) SUM(a) SUM(b)
+30 435 3090
+include/save_master_gtid.inc
+connection server_2;
+SET @old_mode= @@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode=aggressive;
+SET default_master_connection = "a2b";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2b";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+COUNT(*) SUM(a) SUM(b)
+30 435 3090
+connection server_3;
+include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+COUNT(*) SUM(a) SUM(b)
+30 435 3090
+connection server_4;
+include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+COUNT(*) SUM(a) SUM(b)
+30 435 3090
*** Test also with not using parallel replication.
connection server_1;
SET default_master_connection = "b2a";
@@ -474,6 +573,7 @@ Warnings:
Note 1938 SLAVE 'a2b' stopped
Note 1938 SLAVE 'c2b' stopped
SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL slave_parallel_mode= @old_mode;
SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
connection server_3;
SET GLOBAL gtid_domain_id=0;
@@ -491,22 +591,22 @@ Note 1938 SLAVE 'a2d' stopped
SET GLOBAL slave_parallel_threads= @old_parallel;
SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
connection server_1;
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
include/reset_master_slave.inc
disconnect server_1;
connection server_2;
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
include/reset_master_slave.inc
disconnect server_2;
connection server_3;
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
include/reset_master_slave.inc
disconnect server_3;
connection server_4;
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
include/reset_master_slave.inc
disconnect server_4;
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.test b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test
index 3d2d151b..cbc06920 100644
--- a/mysql-test/suite/multi_source/gtid_ignore_duplicates.test
+++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test
@@ -173,6 +173,65 @@ SET default_master_connection = "a2b";
SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+--echo *** MDEV-33475: --gtid-ignore-duplicate can double-apply event in case of parallel replication retry
+
+# Create a bunch of transactions that will cause conflicts and retries.
+# The bug was that the retry code was not handling the --gtid-ignore-duplicates
+# option, so events could be doubly-applied.
+
+--connection server_2
+STOP SLAVE "c2b";
+SET default_master_connection = "c2b";
+--source include/wait_for_slave_to_stop.inc
+STOP SLAVE "a2b";
+SET default_master_connection = "a2b";
+--source include/wait_for_slave_to_stop.inc
+
+--connection server_1
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+BEGIN;
+--let $i= 0
+while ($i < 10) {
+ eval INSERT INTO t2 VALUES ($i, 0);
+ inc $i;
+}
+COMMIT;
+
+--let $i= 0
+while ($i < 10) {
+ BEGIN;
+ eval INSERT INTO t2 VALUES ($i+10, 100);
+ eval UPDATE t2 SET b=$i WHERE a<10;
+ eval INSERT INTO t2 VALUES ($i+20, 200);
+ COMMIT;
+ inc $i;
+}
+
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+--source include/save_master_gtid.inc
+
+--connection server_2
+SET @old_mode= @@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode=aggressive;
+SET default_master_connection = "a2b";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2b";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+--source include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+
+--connection server_3
+--source include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+
+--connection server_4
+--source include/sync_with_master_gtid.inc
+SELECT COUNT(*), SUM(a), SUM(b) FROM t2;
+
+
--echo *** Test also with not using parallel replication.
--connection server_1
@@ -414,6 +473,7 @@ SET GLOBAL gtid_domain_id=0;
--sorted_result
STOP ALL SLAVES;
SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL slave_parallel_mode= @old_mode;
SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
--connection server_3
@@ -431,25 +491,25 @@ SET GLOBAL slave_parallel_threads= @old_parallel;
SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
--connection server_1
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
--source include/reset_master_slave.inc
--disconnect server_1
--connection server_2
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
--source include/reset_master_slave.inc
--disconnect server_2
--connection server_3
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
--source include/reset_master_slave.inc
--disconnect server_3
--connection server_4
-DROP TABLE t1;
+DROP TABLE t1, t2;
ALTER TABLE mysql.gtid_slave_pos ENGINE=Aria;
--source include/reset_master_slave.inc
--disconnect server_4
diff --git a/mysql-test/suite/multi_source/info_logs.result b/mysql-test/suite/multi_source/info_logs.result
index a35a20bd..6f3fd7e7 100644
--- a/mysql-test/suite/multi_source/info_logs.result
+++ b/mysql-test/suite/multi_source/info_logs.result
@@ -94,17 +94,17 @@ MASTER 2.2
# EOF
#
show all slaves status;
-Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
- Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
-MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
+Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+ Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
+MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
include/wait_for_slave_to_start.inc
set default_master_connection = 'MASTER 2.2';
include/wait_for_slave_to_start.inc
set default_master_connection = '';
show all slaves status;
-Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
- Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
-MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
+Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+ Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
+MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
#
# List of files matching '*info*' pattern
# after slave server restart
diff --git a/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result b/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
index 355919de..ce6efc26 100644
--- a/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
+++ b/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
@@ -34,7 +34,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -76,6 +75,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -96,7 +96,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -138,6 +137,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
diff --git a/mysql-test/suite/multi_source/reset_slave.result b/mysql-test/suite/multi_source/reset_slave.result
index 2e9ce5e8..6ff1f5a9 100644
--- a/mysql-test/suite/multi_source/reset_slave.result
+++ b/mysql-test/suite/multi_source/reset_slave.result
@@ -13,15 +13,15 @@ insert into t1 values (1),(2);
connection slave;
stop slave 'master1';
show slave 'master1' status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
- 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-master1.000002 <relay_log_pos> master-bin.000001 No No 0 0 <read_master_log_pos> <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos 0-1-3 optimistic 0 NULL 2 1 0
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
+ 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-master1.000002 <relay_log_pos> master-bin.000001 No No 0 0 <read_master_log_pos> <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos 0-1-3 optimistic 0 NULL 2 1 0
mysqld-relay-bin-master1.000001
mysqld-relay-bin-master1.000002
mysqld-relay-bin-master1.index
reset slave 'master1';
show slave 'master1' status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
- 127.0.0.1 root MYPORT_1 60 4 <relay_log_pos> No No 0 0 0 <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos optimistic 0 NULL 2 1 0
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
+ 127.0.0.1 root MYPORT_1 60 4 <relay_log_pos> No No 0 0 0 <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos optimistic 0 NULL 2 1 0
reset slave 'master1' all;
show slave 'master1' status;
ERROR HY000: There is no master connection 'master1'
diff --git a/mysql-test/suite/multi_source/simple.result b/mysql-test/suite/multi_source/simple.result
index 65c25b88..61932184 100644
--- a/mysql-test/suite/multi_source/simple.result
+++ b/mysql-test/suite/multi_source/simple.result
@@ -32,7 +32,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -74,6 +73,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -94,7 +94,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -136,6 +135,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -221,7 +221,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running No
Slave_SQL_Running No
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -263,6 +262,7 @@ Slave_SQL_Running_State
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
reset slave 'slave1';
show all slaves status;
Connection_name slave1
@@ -279,7 +279,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File
Slave_IO_Running No
Slave_SQL_Running No
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -321,6 +320,7 @@ Slave_SQL_Running_State
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -341,7 +341,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -383,6 +382,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -405,7 +405,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -447,6 +446,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
@@ -471,7 +471,6 @@ Relay_Log_Pos <relay_log_pos>
Relay_Master_Log_File master-bin.000001
Slave_IO_Running No
Slave_SQL_Running No
-Replicate_Rewrite_DB
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
@@ -513,6 +512,7 @@ Slave_SQL_Running_State
Slave_DDL_Groups 0
Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
+Replicate_Rewrite_DB
Retried_transactions 0
Max_relay_log_size 1073741824
Executed_log_entries 7
diff --git a/mysql-test/suite/multi_source/syntax.result b/mysql-test/suite/multi_source/syntax.result
index 3c7c91c3..6b214fe3 100644
--- a/mysql-test/suite/multi_source/syntax.result
+++ b/mysql-test/suite/multi_source/syntax.result
@@ -1,11 +1,11 @@
include/master-slave.inc
[connection master]
show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
show slave '' status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
show all slaves status;
-Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
#
# Check error handling
#
diff --git a/mysql-test/suite/parts/inc/partition_crash.inc b/mysql-test/suite/parts/inc/partition_crash.inc
index c657ba88..bd00f6ca 100644
--- a/mysql-test/suite/parts/inc/partition_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_crash.inc
@@ -11,7 +11,7 @@
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--disable_reconnect
# CR_SERVER_LOST
--error 2013
@@ -22,7 +22,7 @@ SELECT * FROM t1;
--replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/
--cat_file $DATADIR.files.txt
--remove_file $DATADIR.files.txt
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--echo # State after crash recovery
diff --git a/mysql-test/suite/parts/r/alter_table.result b/mysql-test/suite/parts/r/alter_table.result
index fa458c97..8f633370 100644
--- a/mysql-test/suite/parts/r/alter_table.result
+++ b/mysql-test/suite/parts/r/alter_table.result
@@ -1,3 +1,6 @@
+#
+# MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
+#
set @save_alter_algorithm= @@session.alter_algorithm;
SET SESSION alter_algorithm=4;
CREATE TABLE t1(a INT) engine=myisam PARTITION BY RANGE(a) SUBPARTITION BY KEY(a) (PARTITION p0 VALUES LESS THAN (10) (SUBPARTITION s0,SUBPARTITION s1), PARTITION p1 VALUES LESS THAN (20) (SUBPARTITION s2,SUBPARTITION s3));
@@ -18,9 +21,16 @@ ALTER TABLE t1 ADD COLUMN c INT;
ERROR 0A000: ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=COPY
DROP table if exists t1;
set @@session.alter_algorithm= @save_alter_algorithm;
+#
+# MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
+# ERROR 1507 (HY000): Error in list of partitions to DROP
+#
CREATE TABLE t1 (a INT) PARTITION BY RANGE(a) SUBPARTITION BY HASH(a) (PARTITION p VALUES LESS THAN (5) (SUBPARTITION sp, SUBPARTITION sp1), PARTITION p1 VALUES LESS THAN MAXVALUE (SUBPARTITION sp2, SUBPARTITION sp3));
ALTER TABLE t1 DROP PARTITION p;
DROP TABLE if exists t1;
+#
+# MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
+#
CREATE TABLE t1 (i INT);
CREATE VIEW v1 as SELECT * FROM t1;
CREATE TABLE t2 (i INT);
@@ -28,6 +38,7 @@ ALTER TABLE v1 EXCHANGE PARTITION p2 WITH TABLE t2 ;
ERROR 42000: Can't open table
DROP VIEW v1;
DROP TABLE t1, t2;
+# End of 10.5 tests
#
# MDEV-22165 CONVERT PARTITION: move in partition from existing table
#
@@ -358,3 +369,4 @@ disconnect con1;
connection default;
drop user u@localhost;
drop database db;
+# End of 10.11 tests
diff --git a/mysql-test/suite/parts/r/mdev_21007.result b/mysql-test/suite/parts/r/mdev_21007.result
new file mode 100644
index 00000000..fb2417ac
--- /dev/null
+++ b/mysql-test/suite/parts/r/mdev_21007.result
@@ -0,0 +1,5 @@
+CREATE TABLE t1 (a INT) PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALUES LESS THAN (MAXVALUE));
+INSERT INTO t1 VALUES (1),(2);
+ALTER TABLE t1 MODIFY a INT AUTO_INCREMENT PRIMARY KEY;
+UPDATE t1 PARTITION (p1) SET a=9 ORDER BY a LIMIT 1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result
index aab121f2..d4efb87a 100644
--- a/mysql-test/suite/parts/r/partition_alter4_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result
@@ -60,7 +60,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -521,7 +520,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -993,7 +991,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -1466,7 +1463,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -1933,7 +1929,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -2406,7 +2401,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -2884,7 +2878,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -3360,7 +3353,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -3826,7 +3818,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -4287,7 +4278,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -4759,7 +4749,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -5232,7 +5221,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -5699,7 +5687,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -6172,7 +6159,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -6650,7 +6636,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -7126,7 +7111,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -15108,7 +15092,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -15569,7 +15552,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -16041,7 +16023,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -16514,7 +16495,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -16981,7 +16961,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -17454,7 +17433,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -17932,7 +17910,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -18408,7 +18385,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
diff --git a/mysql-test/suite/parts/r/partition_alter4_myisam.result b/mysql-test/suite/parts/r/partition_alter4_myisam.result
index c863d479..3c06585e 100644
--- a/mysql-test/suite/parts/r/partition_alter4_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter4_myisam.result
@@ -60,7 +60,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -530,7 +529,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -1017,7 +1015,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -1511,7 +1508,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -1995,7 +1991,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -2489,7 +2484,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -2988,7 +2982,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -3485,7 +3478,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -3974,7 +3966,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -4444,7 +4435,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -4931,7 +4921,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -5425,7 +5414,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -5909,7 +5897,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -6403,7 +6390,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -6902,7 +6888,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -7399,7 +7384,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -15700,7 +15684,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -16170,7 +16153,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -16657,7 +16639,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -17151,7 +17132,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -17635,7 +17615,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -18129,7 +18108,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -18628,7 +18606,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
@@ -19125,7 +19102,6 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
diff --git a/mysql-test/suite/parts/r/partition_alter_myisam.result b/mysql-test/suite/parts/r/partition_alter_myisam.result
index ec6cbe92..c76c6aba 100644
--- a/mysql-test/suite/parts/r/partition_alter_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter_myisam.result
@@ -88,3 +88,25 @@ insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
alter online table t1 delay_key_write=0;
alter online table t1 delay_key_write=1;
drop table t1;
+#
+# MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
+#
+create table t1 (i1 int primary key, i2 int, d1 date, key(i2))
+partition by hash(i1) partitions 3;
+insert into t1 values(0, 1, '2010-10-10');
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+index_name comment
+PRIMARY
+i2
+alter table t1 disable keys;
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+index_name comment
+PRIMARY
+i2 disabled
+alter table t1 add partition (partition p4);
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+index_name comment
+PRIMARY
+i2 disabled
+drop table t1;
+# End of 10.11 tests
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
index 88784224..28dcddd9 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
@@ -1020,7 +1020,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-MySQL_Test_DB.t1 analyze status Engine-independent statistics collected
MySQL_Test_DB.t1 analyze status OK
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
index 92457a21..204ef94d 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
@@ -1020,7 +1020,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-MySQL_Test_DB.t1 analyze status Engine-independent statistics collected
MySQL_Test_DB.t1 analyze note The storage engine for the table doesn't support analyze
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
index fea80a3f..10f8fbe1 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
@@ -1020,7 +1020,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-MySQL_Test_DB.t1 analyze status Engine-independent statistics collected
MySQL_Test_DB.t1 analyze status OK
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
index 418650eb..d9b677ac 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
@@ -987,7 +987,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-mysql_test_db.t1 analyze status Engine-independent statistics collected
mysql_test_db.t1 analyze status OK
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
index 96e72cbf..601f6cb7 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
@@ -987,7 +987,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-mysql_test_db.t1 analyze status Engine-independent statistics collected
mysql_test_db.t1 analyze note The storage engine for the table doesn't support analyze
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
index 0ab07cdc..936f972d 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
@@ -987,7 +987,6 @@ a b
2001 Second in MAX
ALTER TABLE t1 ANALYZE PARTITION MAX;
Table Op Msg_type Msg_text
-mysql_test_db.t1 analyze status Engine-independent statistics collected
mysql_test_db.t1 analyze status OK
# Truncate without FLUSH
ALTER TABLE t1 TRUNCATE PARTITION MAX;
diff --git a/mysql-test/suite/parts/r/partition_recover_myisam.result b/mysql-test/suite/parts/r/partition_recover_myisam.result
index 1eddf51b..129e84e5 100644
--- a/mysql-test/suite/parts/r/partition_recover_myisam.result
+++ b/mysql-test/suite/parts/r/partition_recover_myisam.result
@@ -1,3 +1,6 @@
+call mtr.add_suppression("..test.t1_will_crash");
+call mtr.add_suppression("Got an error from unknown thread");
+call mtr.add_suppression("Table 't1_will_crash' is marked as crashed and should be repaired");
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
FLUSH TABLES;
diff --git a/mysql-test/suite/parts/t/alter_table.test b/mysql-test/suite/parts/t/alter_table.test
index 9b75add3..9c131c73 100644
--- a/mysql-test/suite/parts/t/alter_table.test
+++ b/mysql-test/suite/parts/t/alter_table.test
@@ -1,12 +1,18 @@
# Permissions don't work with embedded
--source include/not_embedded.inc
+
+#
+# General bugs with ALTER TABLE and partitions that doesn't have to be run
+# on all engines
+#
+
--source include/have_partition.inc
--source include/lcase_names.inc
--source suite/parts/inc/engines.inc
-#
-# MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
-#
+--echo #
+--echo # MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
+--echo #
set @save_alter_algorithm= @@session.alter_algorithm;
SET SESSION alter_algorithm=4;
@@ -18,18 +24,18 @@ DROP table if exists t1;
set @@session.alter_algorithm= @save_alter_algorithm;
-#
-# MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
-# ERROR 1507 (HY000): Error in list of partitions to DROP
-#
+--echo #
+--echo # MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
+--echo # ERROR 1507 (HY000): Error in list of partitions to DROP
+--echo #
CREATE TABLE t1 (a INT) PARTITION BY RANGE(a) SUBPARTITION BY HASH(a) (PARTITION p VALUES LESS THAN (5) (SUBPARTITION sp, SUBPARTITION sp1), PARTITION p1 VALUES LESS THAN MAXVALUE (SUBPARTITION sp2, SUBPARTITION sp3));
ALTER TABLE t1 DROP PARTITION p;
DROP TABLE if exists t1;
-#
-# MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
-#
+--echo #
+--echo # MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
+--echo #
CREATE TABLE t1 (i INT);
CREATE VIEW v1 as SELECT * FROM t1;
CREATE TABLE t2 (i INT);
@@ -38,6 +44,8 @@ ALTER TABLE v1 EXCHANGE PARTITION p2 WITH TABLE t2 ;
DROP VIEW v1;
DROP TABLE t1, t2;
+--echo # End of 10.5 tests
+
--echo #
--echo # MDEV-22165 CONVERT PARTITION: move in partition from existing table
--echo #
@@ -319,3 +327,5 @@ alter table t1 convert table tp to partition p2 values less than (1000);
--connection default
drop user u@localhost;
drop database db;
+
+--echo # End of 10.11 tests
diff --git a/mysql-test/suite/parts/t/mdev_21007.test b/mysql-test/suite/parts/t/mdev_21007.test
new file mode 100644
index 00000000..ec6fbe4d
--- /dev/null
+++ b/mysql-test/suite/parts/t/mdev_21007.test
@@ -0,0 +1,9 @@
+--source include/have_partition.inc
+
+CREATE TABLE t1 (a INT) PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALUES LESS THAN (MAXVALUE));
+INSERT INTO t1 VALUES (1),(2);
+ALTER TABLE t1 MODIFY a INT AUTO_INCREMENT PRIMARY KEY;
+UPDATE t1 PARTITION (p1) SET a=9 ORDER BY a LIMIT 1;
+
+# Cleanup
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/t/partition_alter_myisam.test b/mysql-test/suite/parts/t/partition_alter_myisam.test
index d3abb884..794c0779 100644
--- a/mysql-test/suite/parts/t/partition_alter_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter_myisam.test
@@ -22,3 +22,18 @@ insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
alter online table t1 delay_key_write=0;
alter online table t1 delay_key_write=1;
drop table t1;
+
+--echo #
+--echo # MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
+--echo #
+create table t1 (i1 int primary key, i2 int, d1 date, key(i2))
+partition by hash(i1) partitions 3;
+insert into t1 values(0, 1, '2010-10-10');
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+alter table t1 disable keys;
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+alter table t1 add partition (partition p4);
+select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
+drop table t1;
+
+--echo # End of 10.11 tests
diff --git a/mysql-test/suite/parts/t/partition_recover_myisam-master.opt b/mysql-test/suite/parts/t/partition_recover_myisam-master.opt
deleted file mode 100644
index ddbd7a0a..00000000
--- a/mysql-test/suite/parts/t/partition_recover_myisam-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---myisam-recover-options
diff --git a/mysql-test/suite/parts/t/partition_recover_myisam.opt b/mysql-test/suite/parts/t/partition_recover_myisam.opt
new file mode 100644
index 00000000..ca3d0cdd
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_recover_myisam.opt
@@ -0,0 +1 @@
+--safe-mode
diff --git a/mysql-test/suite/parts/t/partition_recover_myisam.test b/mysql-test/suite/parts/t/partition_recover_myisam.test
index 91a14a51..3106407b 100644
--- a/mysql-test/suite/parts/t/partition_recover_myisam.test
+++ b/mysql-test/suite/parts/t/partition_recover_myisam.test
@@ -1,18 +1,10 @@
# test the auto-recover (--myisam-recover) of partitioned myisam tables
---disable_query_log
call mtr.add_suppression("..test.t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread");
call mtr.add_suppression("Table 't1_will_crash' is marked as crashed and should be repaired");
---enable_query_log
--source include/have_partition.inc
---disable_warnings
---disable_query_log
-drop table if exists t1_will_crash;
---enable_query_log
---enable_warnings
-
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_load.inc b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
index 7a54d252..c6e58d09 100644
--- a/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
+++ b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
@@ -274,7 +274,6 @@ execute dump_users;
execute dump_hosts;
--disconnect con1
---disconnect con5
--connection default
@@ -283,6 +282,8 @@ let $wait_condition=
select count(*) = 0 from performance_schema.threads
where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
--source include/wait_condition.inc
+
+--disconnect con5
let $wait_condition=
select count(*) = 1 from performance_schema.threads
where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
diff --git a/mysql-test/suite/perfschema/include/program_execution.inc b/mysql-test/suite/perfschema/include/program_execution.inc
index 8c0bc691..f774a4d7 100644
--- a/mysql-test/suite/perfschema/include/program_execution.inc
+++ b/mysql-test/suite/perfschema/include/program_execution.inc
@@ -32,7 +32,7 @@ SET GLOBAL event_scheduler=ON;
CREATE TABLE table_t(a INT);
DELIMITER |;
-CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END|
diff --git a/mysql-test/suite/perfschema/include/stage_setup.inc b/mysql-test/suite/perfschema/include/stage_setup.inc
index 683c4561..ba97d909 100644
--- a/mysql-test/suite/perfschema/include/stage_setup.inc
+++ b/mysql-test/suite/perfschema/include/stage_setup.inc
@@ -121,12 +121,23 @@ begin
where thread_id = my_thread_id
and nesting_event_id = my_statement_id
order by event_id asc;
- # Ignore query cache as it may not be enabled
- select username, event_name, nesting_event_type
- from performance_schema.events_stages_history
- where thread_id = my_thread_id
- and nesting_event_id = my_statement_id and
- event_name not like "%query cache%"
+ # 1. Ignore query cache as it may not be enabled
+ # 2. MDL wait consists of short 1 second waits (this is not configurable)
+ # repeated until lock_wait_timeout is reached. The stage is changed
+ # to Waiting and back every second. To have predictable result here
+ # the query filters all sequences of X, "Waiting for MDL", X,
+ # leaving just X.
+ with h as (
+ select event_id, username, event_name, nesting_event_type,
+ lag(event_name) over (order by event_id) = lead(event_name) over (order by event_id)
+ and event_name = "stage/sql/Waiting for stored function metadata lock" as v1,
+ lag(event_name, 2) over (order by event_id) = event_name
+ and lag(event_name, 1) over (order by event_id) = "stage/sql/Waiting for stored function metadata lock" as v2
+ from performance_schema.events_stages_history
+ where thread_id = my_thread_id
+ and nesting_event_id = my_statement_id and
+ event_name not like "%query cache%"
+ ) select username, event_name, nesting_event_type from h where v1 is not true and v2 is not true
order by event_id asc;
end;
else
diff --git a/mysql-test/suite/perfschema/r/alter_table_progress.result b/mysql-test/suite/perfschema/r/alter_table_progress.result
index 08c2c3a6..caca7378 100644
--- a/mysql-test/suite/perfschema/r/alter_table_progress.result
+++ b/mysql-test/suite/perfschema/r/alter_table_progress.result
@@ -82,11 +82,10 @@ stage/sql/Unlocking tables NULL NULL
stage/sql/Rename result table NULL NULL
stage/sql/End of update loop NULL NULL
stage/sql/Query end NULL NULL
-stage/sql/Commit NULL NULL
stage/sql/closing tables NULL NULL
stage/sql/Unlocking tables NULL NULL
stage/sql/closing tables NULL NULL
-stage/sql/Commit implicit NULL NULL
+stage/sql/Query end NULL NULL
stage/sql/Starting cleanup NULL NULL
stage/sql/Freeing items NULL NULL
stage/sql/Reset for next command NULL NULL
diff --git a/mysql-test/suite/perfschema/r/event_aggregate.result b/mysql-test/suite/perfschema/r/event_aggregate.result
index 805378f5..abc3b205 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate.result
@@ -251,35 +251,35 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -383,7 +383,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 0
user2 localhost stage/sql/closing tables 0
user2 localhost stage/sql/init 0
@@ -395,7 +395,7 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 0
user2 stage/sql/closing tables 0
user2 stage/sql/init 0
@@ -407,21 +407,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -551,45 +551,45 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -712,12 +712,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 0
user3 localhost stage/sql/closing tables 0
user3 localhost stage/sql/init 0
@@ -729,12 +729,12 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 0
user3 stage/sql/closing tables 0
user3 stage/sql/init 0
@@ -746,21 +746,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -909,55 +909,55 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1099,17 +1099,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 0
user4 localhost stage/sql/closing tables 0
user4 localhost stage/sql/init 0
@@ -1121,17 +1121,17 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 0
user4 stage/sql/closing tables 0
user4 stage/sql/init 0
@@ -1143,21 +1143,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1325,65 +1325,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 24
+localhost stage/sql/starting 28
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1538,65 +1538,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 25
+localhost stage/sql/starting 29
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1751,65 +1751,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 26
+localhost stage/sql/starting 30
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1963,65 +1963,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 27
+localhost stage/sql/starting 31
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2174,65 +2174,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2386,65 +2386,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2597,65 +2597,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2808,65 +2808,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3019,65 +3019,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3230,65 +3230,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3441,65 +3441,65 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3674,43 +3674,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3907,21 +3907,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4125,14 +4125,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4343,7 +4343,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4554,7 +4554,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4765,7 +4765,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4976,7 +4976,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5187,7 +5187,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5398,7 +5398,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5609,7 +5609,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5820,7 +5820,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -6031,7 +6031,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -6242,7 +6242,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -6453,7 +6453,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -6636,7 +6636,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -6763,7 +6763,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -6862,7 +6862,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result
index 30948c2e..eb2ac32f 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_a.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result
@@ -235,28 +235,28 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -350,7 +350,7 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 0
user2 stage/sql/closing tables 0
user2 stage/sql/init 0
@@ -362,21 +362,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -489,33 +489,33 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -619,12 +619,12 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 0
user3 stage/sql/closing tables 0
user3 stage/sql/init 0
@@ -636,21 +636,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -773,38 +773,38 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -918,17 +918,17 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 0
user4 stage/sql/closing tables 0
user4 stage/sql/init 0
@@ -940,21 +940,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1087,43 +1087,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 24
+localhost stage/sql/starting 28
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1243,43 +1243,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 25
+localhost stage/sql/starting 29
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1399,43 +1399,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 26
+localhost stage/sql/starting 30
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1554,43 +1554,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 27
+localhost stage/sql/starting 31
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1708,43 +1708,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1863,43 +1863,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2017,43 +2017,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2171,43 +2171,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2325,43 +2325,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2479,43 +2479,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2633,43 +2633,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2787,43 +2787,43 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2963,21 +2963,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3124,14 +3124,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3285,7 +3285,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3439,7 +3439,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3593,7 +3593,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3747,7 +3747,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3901,7 +3901,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4055,7 +4055,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4209,7 +4209,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4363,7 +4363,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4517,7 +4517,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4671,7 +4671,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4825,7 +4825,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4979,7 +4979,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -5105,7 +5105,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -5203,7 +5203,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result
index 956ea6c6..8dbe393e 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result
@@ -205,7 +205,7 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -214,14 +214,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -306,7 +306,7 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 0
user2 stage/sql/closing tables 0
user2 stage/sql/init 0
@@ -320,14 +320,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -431,12 +431,12 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -445,14 +445,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -547,12 +547,12 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 0
user3 stage/sql/closing tables 0
user3 stage/sql/init 0
@@ -566,14 +566,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -687,17 +687,17 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -706,14 +706,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -818,17 +818,17 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 0
user4 stage/sql/closing tables 0
user4 stage/sql/init 0
@@ -842,14 +842,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -973,22 +973,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -997,14 +997,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1115,22 +1115,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1139,14 +1139,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1257,22 +1257,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1281,14 +1281,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1398,22 +1398,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1422,14 +1422,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1538,22 +1538,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1562,14 +1562,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1679,22 +1679,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1703,14 +1703,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1819,22 +1819,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1843,14 +1843,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1959,22 +1959,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1983,14 +1983,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2099,22 +2099,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2123,14 +2123,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2239,22 +2239,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2263,14 +2263,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2379,22 +2379,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2403,14 +2403,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2519,22 +2519,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2543,14 +2543,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2683,14 +2683,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2823,14 +2823,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2970,7 +2970,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3110,7 +3110,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3250,7 +3250,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3390,7 +3390,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3530,7 +3530,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3670,7 +3670,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3810,7 +3810,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3950,7 +3950,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4090,7 +4090,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4230,7 +4230,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4370,7 +4370,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4510,7 +4510,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4622,7 +4622,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4706,7 +4706,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result
index fbaa9a8d..f44c3bf9 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result
@@ -219,21 +219,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -317,21 +317,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -427,21 +427,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -526,21 +526,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -637,21 +637,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -737,21 +737,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -849,21 +849,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 24
+localhost stage/sql/starting 28
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -948,21 +948,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 25
+localhost stage/sql/starting 29
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1047,21 +1047,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 26
+localhost stage/sql/starting 30
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1145,21 +1145,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 27
+localhost stage/sql/starting 31
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1242,21 +1242,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1340,21 +1340,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1437,21 +1437,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1534,21 +1534,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1631,21 +1631,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1728,21 +1728,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1825,21 +1825,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1922,21 +1922,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2019,21 +2019,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2123,14 +2123,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2227,7 +2227,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2324,7 +2324,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2421,7 +2421,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2518,7 +2518,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2615,7 +2615,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2712,7 +2712,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2809,7 +2809,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2906,7 +2906,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3003,7 +3003,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3100,7 +3100,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3197,7 +3197,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3294,7 +3294,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3391,7 +3391,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -3488,7 +3488,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result
index af535623..887c74d3 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result
@@ -191,14 +191,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -275,14 +275,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -371,14 +371,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -456,14 +456,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -553,14 +553,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -639,14 +639,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -737,14 +737,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -822,14 +822,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -907,14 +907,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -991,14 +991,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1074,14 +1074,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1158,14 +1158,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1241,14 +1241,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1324,14 +1324,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1407,14 +1407,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1490,14 +1490,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1573,14 +1573,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1656,14 +1656,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1739,14 +1739,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1822,14 +1822,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1912,7 +1912,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -1995,7 +1995,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2078,7 +2078,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2161,7 +2161,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2244,7 +2244,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2327,7 +2327,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2410,7 +2410,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2493,7 +2493,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2576,7 +2576,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2659,7 +2659,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2742,7 +2742,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2825,7 +2825,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2908,7 +2908,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -2991,7 +2991,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result
index 1209d376..b9a885f6 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_h.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result
@@ -221,14 +221,14 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -237,14 +237,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -339,7 +339,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 0
user2 localhost stage/sql/closing tables 0
user2 localhost stage/sql/init 0
@@ -351,7 +351,7 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 0
user2 stage/sql/closing tables 0
user2 stage/sql/init 0
@@ -365,14 +365,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -493,24 +493,24 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -519,14 +519,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -640,12 +640,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 0
user3 localhost stage/sql/closing tables 0
user3 localhost stage/sql/init 0
@@ -657,12 +657,12 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 0
user3 stage/sql/closing tables 0
user3 stage/sql/init 0
@@ -676,14 +676,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -823,34 +823,34 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -859,14 +859,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -999,17 +999,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 0
user4 localhost stage/sql/closing tables 0
user4 localhost stage/sql/init 0
@@ -1021,17 +1021,17 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 0
user4 stage/sql/closing tables 0
user4 stage/sql/init 0
@@ -1045,14 +1045,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1211,44 +1211,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 6
+user1 stage/sql/starting 7
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1257,14 +1257,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1410,44 +1410,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 6
+user2 stage/sql/starting 7
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1456,14 +1456,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1609,44 +1609,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 6
+user3 stage/sql/starting 7
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1655,14 +1655,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1807,44 +1807,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 6
+user4 stage/sql/starting 7
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -1853,14 +1853,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2004,44 +2004,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2050,14 +2050,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2202,44 +2202,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2248,14 +2248,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2399,44 +2399,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2445,14 +2445,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2596,44 +2596,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2642,14 +2642,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2793,44 +2793,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -2839,14 +2839,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2990,44 +2990,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -3036,14 +3036,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3187,44 +3187,44 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -3233,14 +3233,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3406,22 +3406,22 @@ user1 stage/sql/checking permissions 4
user1 stage/sql/closing tables 11
user1 stage/sql/init 3
user1 stage/sql/Opening tables 7
-user1 stage/sql/starting 7
+user1 stage/sql/starting 8
user2 stage/sql/checking permissions 4
user2 stage/sql/closing tables 10
user2 stage/sql/init 3
user2 stage/sql/Opening tables 6
-user2 stage/sql/starting 7
+user2 stage/sql/starting 8
user3 stage/sql/checking permissions 4
user3 stage/sql/closing tables 10
user3 stage/sql/init 3
user3 stage/sql/Opening tables 6
-user3 stage/sql/starting 7
+user3 stage/sql/starting 8
user4 stage/sql/checking permissions 4
user4 stage/sql/closing tables 10
user4 stage/sql/init 3
user4 stage/sql/Opening tables 6
-user4 stage/sql/starting 7
+user4 stage/sql/starting 8
execute dump_stages_host;
host event_name count_star
execute dump_stages_global;
@@ -3430,14 +3430,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3627,14 +3627,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3824,14 +3824,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4028,7 +4028,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4225,7 +4225,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4422,7 +4422,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4619,7 +4619,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4816,7 +4816,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5013,7 +5013,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5210,7 +5210,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5407,7 +5407,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5604,7 +5604,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5801,7 +5801,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -5998,7 +5998,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -6167,7 +6167,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -6280,7 +6280,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -6365,7 +6365,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_u.result b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result
index 39da9783..da99aa54 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_u.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result
@@ -233,7 +233,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -242,21 +242,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -348,7 +348,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 0
user2 localhost stage/sql/closing tables 0
user2 localhost stage/sql/init 0
@@ -362,21 +362,21 @@ localhost stage/sql/checking permissions 4
localhost stage/sql/closing tables 11
localhost stage/sql/init 3
localhost stage/sql/Opening tables 7
-localhost stage/sql/starting 6
+localhost stage/sql/starting 7
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -487,12 +487,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -501,21 +501,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -617,12 +617,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 0
user3 localhost stage/sql/closing tables 0
user3 localhost stage/sql/init 0
@@ -636,21 +636,21 @@ localhost stage/sql/checking permissions 8
localhost stage/sql/closing tables 21
localhost stage/sql/init 6
localhost stage/sql/Opening tables 13
-localhost stage/sql/starting 12
+localhost stage/sql/starting 14
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -771,17 +771,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -790,21 +790,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -916,17 +916,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 0
user4 localhost stage/sql/closing tables 0
user4 localhost stage/sql/init 0
@@ -940,21 +940,21 @@ localhost stage/sql/checking permissions 12
localhost stage/sql/closing tables 31
localhost stage/sql/init 9
localhost stage/sql/Opening tables 19
-localhost stage/sql/starting 18
+localhost stage/sql/starting 21
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1085,22 +1085,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1109,21 +1109,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 24
+localhost stage/sql/starting 28
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1241,22 +1241,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1265,21 +1265,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 25
+localhost stage/sql/starting 29
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1397,22 +1397,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1421,21 +1421,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 26
+localhost stage/sql/starting 30
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1552,22 +1552,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1576,21 +1576,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 27
+localhost stage/sql/starting 31
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1706,22 +1706,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1730,21 +1730,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1861,22 +1861,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1885,21 +1885,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2015,22 +2015,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2039,21 +2039,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2169,22 +2169,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2193,21 +2193,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2323,22 +2323,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2347,21 +2347,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2477,22 +2477,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2501,21 +2501,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2631,22 +2631,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2655,21 +2655,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2809,21 +2809,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2963,21 +2963,21 @@ localhost stage/sql/checking permissions 16
localhost stage/sql/closing tables 41
localhost stage/sql/init 12
localhost stage/sql/Opening tables 25
-localhost stage/sql/starting 28
+localhost stage/sql/starting 32
execute dump_stages_global;
event_name count_star
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3124,14 +3124,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3285,7 +3285,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3439,7 +3439,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3593,7 +3593,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3747,7 +3747,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3901,7 +3901,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4055,7 +4055,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4209,7 +4209,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4363,7 +4363,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4517,7 +4517,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4671,7 +4671,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4825,7 +4825,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4951,7 +4951,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -5049,7 +5049,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -5147,7 +5147,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result
index 818c61e0..064b6e45 100644
--- a/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result
@@ -203,7 +203,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -214,14 +214,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -304,7 +304,7 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 0
user2 localhost stage/sql/closing tables 0
user2 localhost stage/sql/init 0
@@ -320,14 +320,14 @@ stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 4
stage/sql/closing tables 11
stage/sql/init 3
stage/sql/Opening tables 7
-stage/sql/starting 6
+stage/sql/starting 7
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -429,12 +429,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -445,14 +445,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -545,12 +545,12 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 0
user3 localhost stage/sql/closing tables 0
user3 localhost stage/sql/init 0
@@ -566,14 +566,14 @@ stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 8
stage/sql/closing tables 21
stage/sql/init 6
stage/sql/Opening tables 13
-stage/sql/starting 12
+stage/sql/starting 14
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -685,17 +685,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -706,14 +706,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -816,17 +816,17 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 0
user4 localhost stage/sql/closing tables 0
user4 localhost stage/sql/init 0
@@ -842,14 +842,14 @@ stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 12
stage/sql/closing tables 31
stage/sql/init 9
stage/sql/Opening tables 19
-stage/sql/starting 18
+stage/sql/starting 21
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -971,22 +971,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 6
+user1 localhost stage/sql/starting 7
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -997,14 +997,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 24
+stage/sql/starting 28
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1113,22 +1113,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 6
+user2 localhost stage/sql/starting 7
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1139,14 +1139,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 25
+stage/sql/starting 29
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1255,22 +1255,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 6
+user3 localhost stage/sql/starting 7
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1281,14 +1281,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 26
+stage/sql/starting 30
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1396,22 +1396,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 6
+user4 localhost stage/sql/starting 7
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1422,14 +1422,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 27
+stage/sql/starting 31
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1536,22 +1536,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1562,14 +1562,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1677,22 +1677,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1703,14 +1703,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1817,22 +1817,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1843,14 +1843,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -1957,22 +1957,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -1983,14 +1983,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2097,22 +2097,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2123,14 +2123,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2237,22 +2237,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2263,14 +2263,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2377,22 +2377,22 @@ user1 localhost stage/sql/checking permissions 4
user1 localhost stage/sql/closing tables 11
user1 localhost stage/sql/init 3
user1 localhost stage/sql/Opening tables 7
-user1 localhost stage/sql/starting 7
+user1 localhost stage/sql/starting 8
user2 localhost stage/sql/checking permissions 4
user2 localhost stage/sql/closing tables 10
user2 localhost stage/sql/init 3
user2 localhost stage/sql/Opening tables 6
-user2 localhost stage/sql/starting 7
+user2 localhost stage/sql/starting 8
user3 localhost stage/sql/checking permissions 4
user3 localhost stage/sql/closing tables 10
user3 localhost stage/sql/init 3
user3 localhost stage/sql/Opening tables 6
-user3 localhost stage/sql/starting 7
+user3 localhost stage/sql/starting 8
user4 localhost stage/sql/checking permissions 4
user4 localhost stage/sql/closing tables 10
user4 localhost stage/sql/init 3
user4 localhost stage/sql/Opening tables 6
-user4 localhost stage/sql/starting 7
+user4 localhost stage/sql/starting 8
execute dump_stages_user;
user event_name count_star
execute dump_stages_host;
@@ -2403,14 +2403,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2543,14 +2543,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2683,14 +2683,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2823,14 +2823,14 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_stages_history;
event_name count(event_name)
stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -2970,7 +2970,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3110,7 +3110,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3250,7 +3250,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3390,7 +3390,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3530,7 +3530,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3670,7 +3670,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3810,7 +3810,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -3950,7 +3950,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4090,7 +4090,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4230,7 +4230,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4370,7 +4370,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
user1 localhost statement/com/Error 0
@@ -4482,7 +4482,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4566,7 +4566,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
@@ -4650,7 +4650,7 @@ stage/sql/checking permissions 16
stage/sql/closing tables 41
stage/sql/init 12
stage/sql/Opening tables 25
-stage/sql/starting 28
+stage/sql/starting 32
execute dump_statements_account;
user host event_name count_star
execute dump_statements_user;
diff --git a/mysql-test/suite/perfschema/r/max_program_zero.result b/mysql-test/suite/perfschema/r/max_program_zero.result
index 5435efb3..0e2928bd 100644
--- a/mysql-test/suite/perfschema/r/max_program_zero.result
+++ b/mysql-test/suite/perfschema/r/max_program_zero.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate.result b/mysql-test/suite/perfschema/r/memory_aggregate.result
index 69eb033e..1d963dd8 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate.result
@@ -2507,8 +2507,8 @@ execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
localhost 6 6
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result b/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result
index 2b8ee675..387af11f 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result
@@ -2507,8 +2507,8 @@ execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
localhost 6 6
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result
index b5c8e1cd..abac503b 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result
@@ -1903,8 +1903,8 @@ execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
localhost 6 6
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result
index cc0e0c03..f63e6f1d 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result
@@ -1653,8 +1653,8 @@ user4 2 2
execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result
index 8b24b5b5..32785952 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result
@@ -1343,8 +1343,8 @@ execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
localhost 6 6
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result
index 45cbaf88..e68f0e1b 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result
@@ -1093,8 +1093,8 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result
index 35d528bf..e3b7cd0f 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result
@@ -2257,8 +2257,8 @@ user4 2 2
execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result
index 1f800ce4..fd9f2c69 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result
@@ -1947,8 +1947,8 @@ execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
localhost 6 6
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result
index b1ac5f24..fdbd2d75 100644
--- a/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result
+++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result
@@ -1697,8 +1697,8 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
execute dump_hosts;
HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
disconnect con1;
-disconnect con5;
connection default;
+disconnect con5;
"================== con1/con5 disconnected =================="
"================== Step 10 =================="
call dump_thread();
diff --git a/mysql-test/suite/perfschema/r/misc.result b/mysql-test/suite/perfschema/r/misc.result
index 2258cbce..6bc0fa32 100644
--- a/mysql-test/suite/perfschema/r/misc.result
+++ b/mysql-test/suite/perfschema/r/misc.result
@@ -94,7 +94,7 @@ test t_60905 NULL 5 5 0 1
DROP TABLE t_60905;
show global variables like "performance_schema_max_thread_instances";
Variable_name Value
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
explain select * from performance_schema.threads;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE threads ALL NULL NULL NULL NULL 256
diff --git a/mysql-test/suite/perfschema/r/nesting.result b/mysql-test/suite/perfschema/r/nesting.result
index 9e18e5ac..f17a6462 100644
--- a/mysql-test/suite/perfschema/r/nesting.result
+++ b/mysql-test/suite/perfschema/r/nesting.result
@@ -127,10 +127,10 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re
10 10 stage/sql/Optimizing (stage) STATEMENT 0
11 11 stage/sql/Executing (stage) STATEMENT 0
12 12 stage/sql/End of update loop (stage) STATEMENT 0
-13 13 stage/sql/Query end (stage) STATEMENT 0
-14 15 stage/sql/Commit (stage) STATEMENT 0
-15 15 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 14
-16 16 stage/sql/closing tables (stage) STATEMENT 0
+13 14 stage/sql/Query end (stage) STATEMENT 0
+14 14 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 13
+15 15 stage/sql/closing tables (stage) STATEMENT 0
+16 16 stage/sql/Query end (stage) STATEMENT 0
17 17 stage/sql/Starting cleanup (stage) STATEMENT 0
18 18 stage/sql/Freeing items (stage) STATEMENT 0
19 19 wait/io/socket/sql/client_connection send STATEMENT 0
@@ -151,10 +151,10 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re
34 34 stage/sql/Optimizing (stage) STATEMENT 24
35 35 stage/sql/Executing (stage) STATEMENT 24
36 36 stage/sql/End of update loop (stage) STATEMENT 24
-37 37 stage/sql/Query end (stage) STATEMENT 24
-38 39 stage/sql/Commit (stage) STATEMENT 24
-39 39 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 38
-40 40 stage/sql/closing tables (stage) STATEMENT 24
+37 38 stage/sql/Query end (stage) STATEMENT 24
+38 38 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 37
+39 39 stage/sql/closing tables (stage) STATEMENT 24
+40 40 stage/sql/Query end (stage) STATEMENT 24
41 41 stage/sql/Starting cleanup (stage) STATEMENT 24
42 42 stage/sql/Freeing items (stage) STATEMENT 24
43 43 wait/io/socket/sql/client_connection send STATEMENT 24
@@ -175,10 +175,10 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re
58 58 stage/sql/Optimizing (stage) STATEMENT 48
59 59 stage/sql/Executing (stage) STATEMENT 48
60 60 stage/sql/End of update loop (stage) STATEMENT 48
-61 61 stage/sql/Query end (stage) STATEMENT 48
-62 63 stage/sql/Commit (stage) STATEMENT 48
-63 63 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 62
-64 64 stage/sql/closing tables (stage) STATEMENT 48
+61 62 stage/sql/Query end (stage) STATEMENT 48
+62 62 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 61
+63 63 stage/sql/closing tables (stage) STATEMENT 48
+64 64 stage/sql/Query end (stage) STATEMENT 48
65 65 stage/sql/Starting cleanup (stage) STATEMENT 48
66 66 stage/sql/Freeing items (stage) STATEMENT 48
67 67 wait/io/socket/sql/client_connection send STATEMENT 48
@@ -202,10 +202,10 @@ select "With a third part to make things complete" as payload NULL NULL
83 83 stage/sql/Optimizing (stage) STATEMENT 72
84 84 stage/sql/Executing (stage) STATEMENT 72
85 85 stage/sql/End of update loop (stage) STATEMENT 72
-86 86 stage/sql/Query end (stage) STATEMENT 72
-87 88 stage/sql/Commit (stage) STATEMENT 72
-88 88 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 87
-89 89 stage/sql/closing tables (stage) STATEMENT 72
+86 87 stage/sql/Query end (stage) STATEMENT 72
+87 87 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 86
+88 88 stage/sql/closing tables (stage) STATEMENT 72
+89 89 stage/sql/Query end (stage) STATEMENT 72
90 90 stage/sql/Starting cleanup (stage) STATEMENT 72
91 92 stage/sql/Freeing items (stage) STATEMENT 72
92 92 wait/io/socket/sql/client_connection send STAGE 91
@@ -221,10 +221,10 @@ select "With a third part to make things complete" as payload NULL NULL
101 101 stage/sql/Optimizing (stage) STATEMENT 93
102 102 stage/sql/Executing (stage) STATEMENT 93
103 103 stage/sql/End of update loop (stage) STATEMENT 93
-104 104 stage/sql/Query end (stage) STATEMENT 93
-105 106 stage/sql/Commit (stage) STATEMENT 93
-106 106 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 105
-107 107 stage/sql/closing tables (stage) STATEMENT 93
+104 105 stage/sql/Query end (stage) STATEMENT 93
+105 105 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 104
+106 106 stage/sql/closing tables (stage) STATEMENT 93
+107 107 stage/sql/Query end (stage) STATEMENT 93
108 108 stage/sql/Starting cleanup (stage) STATEMENT 93
109 110 stage/sql/Freeing items (stage) STATEMENT 93
110 110 wait/io/socket/sql/client_connection send STAGE 109
@@ -238,10 +238,10 @@ select "With a third part to make things complete" as payload NULL NULL
118 118 stage/sql/Optimizing (stage) STATEMENT 111
119 119 stage/sql/Executing (stage) STATEMENT 111
120 120 stage/sql/End of update loop (stage) STATEMENT 111
-121 121 stage/sql/Query end (stage) STATEMENT 111
-122 123 stage/sql/Commit (stage) STATEMENT 111
-123 123 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 122
-124 124 stage/sql/closing tables (stage) STATEMENT 111
+121 122 stage/sql/Query end (stage) STATEMENT 111
+122 122 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 121
+123 123 stage/sql/closing tables (stage) STATEMENT 111
+124 124 stage/sql/Query end (stage) STATEMENT 111
125 125 stage/sql/Starting cleanup (stage) STATEMENT 111
126 126 stage/sql/Freeing items (stage) STATEMENT 111
127 127 wait/io/socket/sql/client_connection send STATEMENT 111
@@ -262,10 +262,10 @@ select "With a third part to make things complete" as payload NULL NULL
142 142 stage/sql/Optimizing (stage) STATEMENT 132
143 143 stage/sql/Executing (stage) STATEMENT 132
144 144 stage/sql/End of update loop (stage) STATEMENT 132
-145 145 stage/sql/Query end (stage) STATEMENT 132
-146 147 stage/sql/Commit (stage) STATEMENT 132
-147 147 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 146
-148 148 stage/sql/closing tables (stage) STATEMENT 132
+145 146 stage/sql/Query end (stage) STATEMENT 132
+146 146 wait/synch/mutex/sql/THD::LOCK_thd_kill lock STAGE 145
+147 147 stage/sql/closing tables (stage) STATEMENT 132
+148 148 stage/sql/Query end (stage) STATEMENT 132
149 149 stage/sql/Starting cleanup (stage) STATEMENT 132
150 150 stage/sql/Freeing items (stage) STATEMENT 132
151 151 wait/io/socket/sql/client_connection send STATEMENT 132
diff --git a/mysql-test/suite/perfschema/r/ortho_iter.result b/mysql-test/suite/perfschema/r/ortho_iter.result
index 9489c104..4eee0622 100644
--- a/mysql-test/suite/perfschema/r/ortho_iter.result
+++ b/mysql-test/suite/perfschema/r/ortho_iter.result
@@ -237,7 +237,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -261,7 +261,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/privilege_table_io.result b/mysql-test/suite/perfschema/r/privilege_table_io.result
index 8be4b958..9e5e0ad3 100644
--- a/mysql-test/suite/perfschema/r/privilege_table_io.result
+++ b/mysql-test/suite/perfschema/r/privilege_table_io.result
@@ -39,7 +39,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -63,7 +63,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_global.result b/mysql-test/suite/perfschema/r/stage_mdl_global.result
index b9eda506..48aca9e5 100644
--- a/mysql-test/suite/perfschema/r/stage_mdl_global.result
+++ b/mysql-test/suite/perfschema/r/stage_mdl_global.result
@@ -10,10 +10,10 @@ username event_name nesting_event_type
username event_name nesting_event_type
user1 stage/sql/starting STATEMENT
user1 stage/sql/starting STATEMENT
+user1 stage/sql/starting STATEMENT
user1 stage/sql/Query end STATEMENT
-user1 stage/sql/Commit STATEMENT
user1 stage/sql/closing tables STATEMENT
-user1 stage/sql/Commit implicit STATEMENT
+user1 stage/sql/Query end STATEMENT
user1 stage/sql/Starting cleanup STATEMENT
user1 stage/sql/Freeing items STATEMENT
user1 stage/sql/Reset for next command STATEMENT
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_table.result b/mysql-test/suite/perfschema/r/stage_mdl_table.result
index 5ba0ba04..b9b2dc12 100644
--- a/mysql-test/suite/perfschema/r/stage_mdl_table.result
+++ b/mysql-test/suite/perfschema/r/stage_mdl_table.result
@@ -19,10 +19,10 @@ username event_name nesting_event_type
user1 stage/sql/Sending data STATEMENT
user1 stage/sql/End of update loop STATEMENT
user1 stage/sql/Query end STATEMENT
-user1 stage/sql/Commit STATEMENT
user1 stage/sql/closing tables STATEMENT
user1 stage/sql/Unlocking tables STATEMENT
user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/Query end STATEMENT
user1 stage/sql/Starting cleanup STATEMENT
user1 stage/sql/Freeing items STATEMENT
user1 stage/sql/Reset for next command STATEMENT
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_idle.result b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
index bfc49fd3..dcd8feb3 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_idle.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_stages.result b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
index e9f20398..d2a1d3e2 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_stages.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_statements.result b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
index ffb45f4f..fc50aecd 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_statements.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_transactions.result b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
index e271d5a1..4cd5aad2 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_waits.result b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
index 833da225..4665083f 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_waits.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_innodb.result b/mysql-test/suite/perfschema/r/start_server_innodb.result
index e3ff0f51..0101b370 100644
--- a/mysql-test/suite/perfschema/r/start_server_innodb.result
+++ b/mysql-test/suite/perfschema/r/start_server_innodb.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_low_index.result b/mysql-test/suite/perfschema/r/start_server_low_index.result
index ffdf9d65..a8706c47 100644
--- a/mysql-test/suite/perfschema/r/start_server_low_index.result
+++ b/mysql-test/suite/perfschema/r/start_server_low_index.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_low_table_lock.result b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
index dbb404f6..37db1bb6 100644
--- a/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
+++ b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 1
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_account.result b/mysql-test/suite/perfschema/r/start_server_no_account.result
index f92b0e6b..a05cb9c5 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_account.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_account.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
index fefad55c..d2e2bc9d 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 0
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
index 0c2f65f6..d2a84d67 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_class.result b/mysql-test/suite/perfschema/r/start_server_no_file_class.result
index c3f06b53..bf0e7bfc 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_file_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_file_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
index fd39807d..b0c690ca 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_host.result b/mysql-test/suite/perfschema/r/start_server_no_host.result
index 43111c5e..10c882cc 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_host.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_host.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 0
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_index.result b/mysql-test/suite/perfschema/r/start_server_no_index.result
index 15d1184b..4ac8fbaf 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_index.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_index.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mdl.result b/mysql-test/suite/perfschema/r/start_server_no_mdl.result
index b8de9045..25f9ea1d 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mdl.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mdl.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_memory_class.result b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
index 60066264..7283733d 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
index 3353b46b..2904bc21 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
index d41da361..17acca63 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
index 4919de6b..e559d72e 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
index 02a119bd..3c1da2a1 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
index ead01ce2..6da9ed12 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
index a99f1c0f..20385607 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
index 7c148889..ad9e2ebe 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 0
diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
index dec0680c..e7b1235e 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
index 20adf1a9..0ca5fe86 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
index 044f9475..75c9fb95 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
index 350f2c66..160188e7 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
index d2d7063c..07b31f49 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
index ca7c49cd..61609361 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
index 8bcb3c56..1eb8e625 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
index 2a2bf5d3..94996587 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
index ec6e40ac..17d0b2c0 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 0
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
index b3f1e4cb..c72093c1 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 0
performance_schema_max_table_lock_stat 0
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_lock.result b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
index baf9f761..b093b796 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 0
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
index cd204f3d..b13140ac 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 0
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
index d083484c..a4d17b27 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
index f5a12e54..ffe68605 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
index 76ae9d5f..78570f98 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_user.result b/mysql-test/suite/perfschema/r/start_server_no_user.result
index 4bd472a2..7971e8dd 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_user.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_user.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result
index f59b156c..0fa5c751 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_waits_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 0
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
index cc70572c..cc90ffb4 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 0
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result
index a53d5919..b409d7ff 100644
--- a/mysql-test/suite/perfschema/r/start_server_off.result
+++ b/mysql-test/suite/perfschema/r/start_server_off.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result
index e3ff0f51..0101b370 100644
--- a/mysql-test/suite/perfschema/r/start_server_on.result
+++ b/mysql-test/suite/perfschema/r/start_server_on.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/start_server_variables.result b/mysql-test/suite/perfschema/r/start_server_variables.result
index 7d1d1e05..2adfc99b 100644
--- a/mysql-test/suite/perfschema/r/start_server_variables.result
+++ b/mysql-test/suite/perfschema/r/start_server_variables.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
@@ -165,7 +165,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -188,7 +188,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/statement_program_lost_inst.result b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
index 05ec7b0b..44ab0998 100644
--- a/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
+++ b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
-performance_schema_max_cond_instances 1000
+performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768
@@ -141,7 +141,7 @@ performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_table_lock_stat 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 200
+performance_schema_max_thread_instances 400
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
diff --git a/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result b/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result
index 5e376a12..1a973c94 100644
--- a/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result
+++ b/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result
@@ -145,7 +145,7 @@ Bollywood
# Event
SET GLOBAL event_scheduler=ON;
CREATE TABLE table_t(a INT);
-CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END|
@@ -165,7 +165,7 @@ statement/sql/call_procedure CALL SampleProc1(30,40,50) NULL NULL 0
statement/sql/call_procedure CALL SampleProc2("Jwalamukhi",34) NULL NULL 0
statement/sql/call_procedure CALL SampleProc3() NULL NULL 0
statement/sql/call_procedure CALL SampleProc4() NULL NULL 0
-statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END NULL NULL 0
diff --git a/mysql-test/suite/perfschema/r/statement_program_non_nested.result b/mysql-test/suite/perfschema/r/statement_program_non_nested.result
index af9807cb..1c75dac1 100644
--- a/mysql-test/suite/perfschema/r/statement_program_non_nested.result
+++ b/mysql-test/suite/perfschema/r/statement_program_non_nested.result
@@ -145,7 +145,7 @@ Bollywood
# Event
SET GLOBAL event_scheduler=ON;
CREATE TABLE table_t(a INT);
-CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END|
@@ -182,7 +182,7 @@ statement/sql/call_procedure CALL SampleProc1(30,40,50) stored_programs NULL NUL
statement/sql/call_procedure CALL SampleProc2("Jwalamukhi",34) stored_programs NULL NULL NULL NULL 0
statement/sql/call_procedure CALL SampleProc3() stored_programs NULL NULL NULL NULL 0
statement/sql/call_procedure CALL SampleProc4() stored_programs NULL NULL NULL NULL 0
-statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END stored_programs NULL NULL NULL NULL 0
@@ -553,7 +553,7 @@ Bollywood
# Event
SET GLOBAL event_scheduler=ON;
CREATE TABLE table_t(a INT);
-CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO
+CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND ON COMPLETION NOT PRESERVE DO
BEGIN
INSERT INTO table_t VALUES(1);
END|
diff --git a/mysql-test/suite/perfschema/r/threads_history.result b/mysql-test/suite/perfschema/r/threads_history.result
index aaf2cd09..d72ace62 100644
--- a/mysql-test/suite/perfschema/r/threads_history.result
+++ b/mysql-test/suite/perfschema/r/threads_history.result
@@ -24,27 +24,22 @@ events_waits_history_long YES
global_instrumentation YES
thread_instrumentation YES
statements_digest YES
-# Switch to (con1, localhost, user1, , )
connect con1, localhost, user1, , ;
update performance_schema.threads
set INSTRUMENTED='YES', HISTORY='YES'
where PROCESSLIST_ID = connection_id();
-# Switch to (con2, localhost, user2, , )
connect con2, localhost, user2, , ;
update performance_schema.threads
set INSTRUMENTED='YES', HISTORY='NO'
where PROCESSLIST_ID = connection_id();
-# Switch to (con3, localhost, user3, , )
connect con3, localhost, user3, , ;
update performance_schema.threads
set INSTRUMENTED='NO', HISTORY='YES'
where PROCESSLIST_ID = connection_id();
-# Switch to (con4, localhost, user4, , )
connect con4, localhost, user4, , ;
update performance_schema.threads
set INSTRUMENTED='NO', HISTORY='NO'
where PROCESSLIST_ID = connection_id();
-# Switch to connection default
connection default;
truncate table performance_schema.events_transactions_current;
truncate table performance_schema.events_transactions_history;
@@ -58,7 +53,6 @@ truncate table performance_schema.events_stages_history_long;
truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
-# Switch to connection con1
connection con1;
XA START 'XA_CON1', 'XA_BQUAL', 12;
select "Hi from con1";
@@ -67,7 +61,6 @@ Hi from con1
XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
-# Switch to connection con2
connection con2;
XA START 'XA_CON2', 'XA_BQUAL', 12;
select "Hi from con2";
@@ -76,7 +69,6 @@ Hi from con2
XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
-# Switch to connection con3
connection con3;
XA START 'XA_CON3', 'XA_BQUAL', 12;
select "Hi from con3";
@@ -85,7 +77,6 @@ Hi from con3
XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
-# Switch to connection con4
connection con4;
XA START 'XA_CON4', 'XA_BQUAL', 12;
select "Hi from con4";
@@ -95,88 +86,142 @@ XA END 'XA_CON4', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON4', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
connection default;
-"=========================== Transactions user 1"
+########################### Transactions user 1 - 1
+select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
+select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
+select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
-"=========================== Transactions user 2"
+########################### Transactions user 2 - 1
+select /*2-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con2_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON2 XA_BQUAL
+select /*2-1*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-1*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Transactions user 3"
+########################### Transactions user 3 - 1
+select /*3-1*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Transactions user 4"
+########################### Transactions user 4 - 1
+select /*4-1*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Statements user 1"
+########################### Statements user 1 - 1
+select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
+select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12
statement/sql/select select "Hi from con1"
statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
+select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12
statement/sql/select select "Hi from con1"
statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
-"=========================== Statements user 2"
+########################### Statements user 2 - 1
+select /*2-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12
+select /*2-1*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-1*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Statements user 3"
+########################### Statements user 3 - 1
+select /*3-1*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Statements user 4"
+########################### Statements user 4 - 1
+select /*4-1*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Stages user 1"
+########################### Stages user 1 - 1
+select /*1-1*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*1-1*/ EVENT_NAME from performance_schema.events_stages_history
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
+select /*1-1*/ EVENT_NAME from performance_schema.events_stages_history_long
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
@@ -189,81 +234,122 @@ stage/sql/Optimizing
stage/sql/Executing
stage/sql/End of update loop
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
-"=========================== Stages user 2"
+########################### Stages user 2 - 1
+select /*2-1*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*2-1*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-1*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Stages user 3"
+########################### Stages user 3 - 1
+select /*3-1*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Stages user 4"
+########################### Stages user 4 - 1
+select /*4-1*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Waits user 1"
+########################### Waits user 1 - 1
+select /*1-1*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*1-1*/ (count(*) > 5) as has_waits from performance_schema.events_waits_history
+where THREAD_ID = $con1_thread_id;
has_waits
1
+select /*1-1*/ (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
+where THREAD_ID = $con1_thread_id;
has_waits
1
-"=========================== Waits user 2"
+########################### Waits user 2 - 1
+select /*2-1*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*2-1*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-1*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Waits user 3"
+########################### Waits user 3 - 1
+select /*3-1*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-1*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Waits user 4"
+########################### Waits user 4 - 1
+select /*4-1*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-1*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-# Switch to connection default, disable consumers
connection default;
update performance_schema.setup_consumers
set enabled='NO' where name like "%history%";
@@ -296,7 +382,6 @@ truncate table performance_schema.events_stages_history_long;
truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
-# Switch to connection con1
connection con1;
XA START 'XA_CON1', 'XA_BQUAL', 12;
select "Hi from con1";
@@ -305,7 +390,6 @@ Hi from con1
XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
-# Switch to connection con2
connection con2;
XA START 'XA_CON2', 'XA_BQUAL', 12;
select "Hi from con2";
@@ -314,7 +398,6 @@ Hi from con2
XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
-# Switch to connection con3
connection con3;
XA START 'XA_CON3', 'XA_BQUAL', 12;
select "Hi from con3";
@@ -323,7 +406,6 @@ Hi from con3
XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
-# Switch to connection con4
connection con4;
XA START 'XA_CON4', 'XA_BQUAL', 12;
select "Hi from con4";
@@ -333,117 +415,212 @@ XA END 'XA_CON4', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON4', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
connection default;
-"=========================== Transactions user 1"
+########################### Transactions user 1 - 2
+select /*1-2*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
+select /*1-2*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con1_thread_id;
count(*)
0
+select /*1-2*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con1_thread_id;
count(*)
0
-"=========================== Transactions user 2"
+########################### Transactions user 2 - 2
+select /*2-2*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con2_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON2 XA_BQUAL
+select /*2-2*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-2*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Transactions user 3"
+########################### Transactions user 3 - 2
+select /*3-2*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Transactions user 4"
+########################### Transactions user 4 - 2
+select /*4-2*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Statements user 1"
+########################### Statements user 1 - 2
+select /*1-2*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
+select /*1-2*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con1_thread_id;
count(*)
0
+select /*1-2*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con1_thread_id;
count(*)
0
-"=========================== Statements user 2"
+########################### Statements user 2 - 2
+select /*2-2*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12
+select /*2-2*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-2*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Statements user 3"
+########################### Statements user 3 - 2
+select /*3-2*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Statements user 4"
+########################### Statements user 4 - 2
+select /*4-2*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Stages user 1"
+########################### Stages user 1 - 2
+select /*1-2*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*1-2*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con1_thread_id;
count(*)
0
+select /*1-2*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con1_thread_id;
count(*)
0
-"=========================== Stages user 2"
+########################### Stages user 2 - 2
+select /*2-2*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*2-2*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-2*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Stages user 3"
+########################### Stages user 3 - 2
+select /*3-2*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Stages user 4"
+########################### Stages user 4 - 2
+select /*4-2*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Waits user 1"
+########################### Waits user 1 - 2
+select /*1-2*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*1-2*/ count(*) as has_waits from performance_schema.events_waits_history
+where THREAD_ID = $con1_thread_id;
has_waits
0
+select /*1-2*/ count(*) as has_waits from performance_schema.events_waits_history_long
+where THREAD_ID = $con1_thread_id;
has_waits
0
-"=========================== Waits user 2"
+########################### Waits user 2 - 2
+select /*2-2*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*2-2*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-2*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Waits user 3"
+########################### Waits user 3 - 2
+select /*3-2*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-2*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Waits user 4"
+########################### Waits user 4 - 2
+select /*4-2*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-2*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-# Switch to connection default, enable consumers
connection default;
update performance_schema.setup_consumers
set enabled='YES' where name like "%history%";
@@ -476,7 +653,6 @@ truncate table performance_schema.events_stages_history_long;
truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
-# Switch to connection con1
connection con1;
XA START 'XA_CON1', 'XA_BQUAL', 12;
select "Hi from con1";
@@ -485,7 +661,6 @@ Hi from con1
XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
-# Switch to connection con2
connection con2;
XA START 'XA_CON2', 'XA_BQUAL', 12;
select "Hi from con2";
@@ -494,7 +669,6 @@ Hi from con2
XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
-# Switch to connection con3
connection con3;
XA START 'XA_CON3', 'XA_BQUAL', 12;
select "Hi from con3";
@@ -503,7 +677,6 @@ Hi from con3
XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
-# Switch to connection con4
connection con4;
XA START 'XA_CON4', 'XA_BQUAL', 12;
select "Hi from con4";
@@ -513,88 +686,142 @@ XA END 'XA_CON4', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON4', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
connection default;
-"=========================== Transactions user 1"
+########################### Transactions user 1 - 3
+select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
+select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
+select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
+where THREAD_ID = $con1_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON1 XA_BQUAL
-"=========================== Transactions user 2"
+########################### Transactions user 2 - 3
+select /*2-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+where THREAD_ID = $con2_thread_id;
XID_FORMAT_ID XID_GTRID XID_BQUAL
12 XA_CON2 XA_BQUAL
+select /*2-3*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-3*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Transactions user 3"
+########################### Transactions user 3 - 3
+select /*3-3*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Transactions user 4"
+########################### Transactions user 4 - 3
+select /*4-3*/ count(*) from performance_schema.events_transactions_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_transactions_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_transactions_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Statements user 1"
+########################### Statements user 1 - 3
+select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
+select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12
statement/sql/select select "Hi from con1"
statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
+select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12
statement/sql/select select "Hi from con1"
statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12
statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12
-"=========================== Statements user 2"
+########################### Statements user 2 - 3
+select /*2-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME SQL_TEXT
statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12
+select /*2-3*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-3*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Statements user 3"
+########################### Statements user 3 - 3
+select /*3-3*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Statements user 4"
+########################### Statements user 4 - 3
+select /*4-3*/ count(*) from performance_schema.events_statements_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_statements_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_statements_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Stages user 1"
+########################### Stages user 1 - 3
+select /*1-3*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*1-3*/ EVENT_NAME from performance_schema.events_stages_history
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
+select /*1-3*/ EVENT_NAME from performance_schema.events_stages_history_long
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
@@ -607,81 +834,122 @@ stage/sql/Optimizing
stage/sql/Executing
stage/sql/End of update loop
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
stage/sql/starting
stage/sql/Query end
-stage/sql/Commit
stage/sql/closing tables
+stage/sql/Query end
stage/sql/Starting cleanup
stage/sql/Freeing items
stage/sql/Reset for next command
-"=========================== Stages user 2"
+########################### Stages user 2 - 3
+select /*2-3*/ EVENT_NAME from performance_schema.events_stages_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
+select /*2-3*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-3*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Stages user 3"
+########################### Stages user 3 - 3
+select /*3-3*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Stages user 4"
+########################### Stages user 4 - 3
+select /*4-3*/ count(*) from performance_schema.events_stages_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_stages_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_stages_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-"=========================== Waits user 1"
+########################### Waits user 1 - 3
+select /*1-3*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*1-3*/ (count(*) > 5) as has_waits from performance_schema.events_waits_history
+where THREAD_ID = $con1_thread_id;
has_waits
1
+select /*1-3*/ (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
+where THREAD_ID = $con1_thread_id;
has_waits
1
-"=========================== Waits user 2"
+########################### Waits user 2 - 3
+select /*2-3*/ EVENT_NAME from performance_schema.events_waits_current
+where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
EVENT_NAME
idle
+select /*2-3*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con2_thread_id;
count(*)
0
+select /*2-3*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con2_thread_id;
count(*)
0
-"=========================== Waits user 3"
+########################### Waits user 3 - 3
+select /*3-3*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con3_thread_id;
count(*)
0
+select /*3-3*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con3_thread_id;
count(*)
0
-"=========================== Waits user 4"
+########################### Waits user 4 - 3
+select /*4-3*/ count(*) from performance_schema.events_waits_current
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_waits_history
+where THREAD_ID = $con4_thread_id;
count(*)
0
+select /*4-3*/ count(*) from performance_schema.events_waits_history_long
+where THREAD_ID = $con4_thread_id;
count(*)
0
-# Switch to connection default
connection default;
revoke all privileges, grant option from user1@localhost;
revoke all privileges, grant option from user2@localhost;
diff --git a/mysql-test/suite/perfschema/t/bad_option.test b/mysql-test/suite/perfschema/t/bad_option.test
index 4feb0468..3eee669b 100644
--- a/mysql-test/suite/perfschema/t/bad_option.test
+++ b/mysql-test/suite/perfschema/t/bad_option.test
@@ -14,7 +14,7 @@ let $error_log= $MYSQLTEST_VARDIR/log/my_restart.err;
let SEARCH_FILE= $error_log;
# Stop the server
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--shutdown_server
--source include/wait_until_disconnected.inc
--error 7
@@ -62,7 +62,7 @@ let SEARCH_PATTERN= Can.t change dir to .*bad_option_h_param;
--remove_file $error_log
# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $restart_file
+--write_line restart $restart_file
# Turn on reconnect
--enable_reconnect
diff --git a/mysql-test/suite/perfschema/t/misc.test b/mysql-test/suite/perfschema/t/misc.test
index 79c23c65..e8b9691f 100644
--- a/mysql-test/suite/perfschema/t/misc.test
+++ b/mysql-test/suite/perfschema/t/misc.test
@@ -175,6 +175,7 @@ DROP TABLE t_60905;
#
show global variables like "performance_schema_max_thread_instances";
+replace_result 512 256;
explain select * from performance_schema.threads;
#
diff --git a/mysql-test/suite/perfschema/t/processlist_57.test b/mysql-test/suite/perfschema/t/processlist_57.test
index 748d8b74..fe8898ed 100644
--- a/mysql-test/suite/perfschema/t/processlist_57.test
+++ b/mysql-test/suite/perfschema/t/processlist_57.test
@@ -23,7 +23,7 @@ DROP TABLE performance_schema.processlist;
SHOW CREATE TABLE performance_schema.processlist;
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--echo ##
--echo ## Server shutdown
--echo ##
@@ -93,7 +93,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
--error ER_BAD_FIELD_ERROR
SHOW PROCESSLIST;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--echo ##
--echo ## Server shutdown
--echo ##
@@ -166,7 +166,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
# Works and returns no data, innodb table is empty.
SHOW PROCESSLIST;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--echo ##
--echo ## Server shutdown
--echo ##
@@ -231,7 +231,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
# Works and returns no data, innodb table is empty.
SHOW PROCESSLIST;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--echo ##
--echo ## Server shutdown
--echo ##
@@ -306,7 +306,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
--replace_column 3 [HOST:PORT] 6 [TIME]
SHOW PROCESSLIST;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--echo ##
--echo ## Server shutdown
--echo ##
diff --git a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
index ea59cd4f..bd33c559 100644
--- a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
+++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
@@ -69,7 +69,7 @@ SELECT * FROM performance_schema.setup_instruments
WHERE name like "%wait/io/table/sql/handler%";
# Write file to make mysql-test-run.pl wait for the server to stop
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Restart the server
--echo #
@@ -79,7 +79,7 @@ WHERE name like "%wait/io/table/sql/handler%";
--echo # Restart server with wait/io/table/sql/handler disabled
---exec echo "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Turn on reconnect
--echo # Enable reconnect
diff --git a/mysql-test/suite/perfschema/t/statement_program_lost_inst.test b/mysql-test/suite/perfschema/t/statement_program_lost_inst.test
index 023180b9..0742043b 100644
--- a/mysql-test/suite/perfschema/t/statement_program_lost_inst.test
+++ b/mysql-test/suite/perfschema/t/statement_program_lost_inst.test
@@ -19,10 +19,10 @@
--source include/have_perfschema.inc
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
---exec echo "wait" > $restart_file
+--write_line wait $restart_file
--shutdown_server
--source include/wait_until_disconnected.inc
---exec echo "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360">$restart_file
+--write_line "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360" $restart_file
--enable_reconnect
--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/perfschema/t/threads_history.test b/mysql-test/suite/perfschema/t/threads_history.test
index f42dd6d0..aee98333 100644
--- a/mysql-test/suite/perfschema/t/threads_history.test
+++ b/mysql-test/suite/perfschema/t/threads_history.test
@@ -23,7 +23,6 @@ flush privileges;
select * from performance_schema.setup_consumers;
---echo # Switch to (con1, localhost, user1, , )
connect (con1, localhost, user1, , );
update performance_schema.threads
@@ -33,7 +32,6 @@ update performance_schema.threads
let $con1_thread_id= `select THREAD_ID from performance_schema.threads
where PROCESSLIST_ID = connection_id()`;
---echo # Switch to (con2, localhost, user2, , )
connect (con2, localhost, user2, , );
update performance_schema.threads
@@ -43,7 +41,6 @@ update performance_schema.threads
let $con2_thread_id= `select THREAD_ID from performance_schema.threads
where PROCESSLIST_ID = connection_id()`;
---echo # Switch to (con3, localhost, user3, , )
connect (con3, localhost, user3, , );
update performance_schema.threads
@@ -53,7 +50,6 @@ update performance_schema.threads
let $con3_thread_id= `select THREAD_ID from performance_schema.threads
where PROCESSLIST_ID = connection_id()`;
---echo # Switch to (con4, localhost, user4, , )
connect (con4, localhost, user4, , );
update performance_schema.threads
@@ -63,7 +59,6 @@ update performance_schema.threads
let $con4_thread_id= `select THREAD_ID from performance_schema.threads
where PROCESSLIST_ID = connection_id()`;
---echo # Switch to connection default
--connection default
truncate table performance_schema.events_transactions_current;
@@ -79,7 +74,6 @@ truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
---echo # Switch to connection con1
--connection con1
XA START 'XA_CON1', 'XA_BQUAL', 12;
@@ -88,7 +82,6 @@ XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
---echo # Switch to connection con2
--connection con2
XA START 'XA_CON2', 'XA_BQUAL', 12;
@@ -97,7 +90,6 @@ XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
---echo # Switch to connection con3
--connection con3
XA START 'XA_CON3', 'XA_BQUAL', 12;
@@ -106,7 +98,6 @@ XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
---echo # Switch to connection con4
--connection con4
XA START 'XA_CON4', 'XA_BQUAL', 12;
@@ -117,165 +108,150 @@ XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
--connection default
---disable_query_log
+echo ########################### Transactions user 1 - 1;
-echo "=========================== Transactions user 1";
-
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con1_thread_id;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
+evalp select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
where THREAD_ID = $con1_thread_id;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
+evalp select /*1-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Transactions user 2";
+echo ########################### Transactions user 2 - 1;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*2-1*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*2-1*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*2-1*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Transactions user 3";
+echo ########################### Transactions user 3 - 1;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*3-1*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*3-1*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*3-1*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Transactions user 4";
+echo ########################### Transactions user 4 - 1;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*4-1*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*4-1*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*4-1*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Statements user 1";
+echo ########################### Statements user 1 - 1;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
-echo "=========================== Statements user 2";
+echo ########################### Statements user 2 - 1;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*2-1*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-1*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*2-1*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Statements user 3";
+echo ########################### Statements user 3 - 1;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*3-1*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*3-1*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*3-1*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Statements user 4";
+echo ########################### Statements user 4 - 1;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*4-1*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*4-1*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*4-1*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Stages user 1";
+echo ########################### Stages user 1 - 1;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME from performance_schema.events_stages_history
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME from performance_schema.events_stages_history_long
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME from performance_schema.events_stages_history
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ EVENT_NAME from performance_schema.events_stages_history_long
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
-echo "=========================== Stages user 2";
+echo ########################### Stages user 2 - 1;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*2-1*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-1*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*2-1*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Stages user 3";
+echo ########################### Stages user 3 - 1;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*3-1*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*3-1*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*3-1*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Stages user 4";
+echo ########################### Stages user 4 - 1;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*4-1*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*4-1*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*4-1*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Waits user 1";
+echo ########################### Waits user 1 - 1;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select (count(*) > 5) as has_waits from performance_schema.events_waits_history
+evalp select /*1-1*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-1*/ (count(*) > 5) as has_waits from performance_schema.events_waits_history
where THREAD_ID = $con1_thread_id;
-eval select (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
+evalp select /*1-1*/ (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Waits user 2";
+echo ########################### Waits user 2 - 1;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*2-1*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-1*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*2-1*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Waits user 3";
+echo ########################### Waits user 3 - 1;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*3-1*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*3-1*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*3-1*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Waits user 4";
+echo ########################### Waits user 4 - 1;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*4-1*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*4-1*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*4-1*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con4_thread_id;
---enable_query_log
-
---echo # Switch to connection default, disable consumers
--connection default
update performance_schema.setup_consumers
@@ -296,7 +272,6 @@ truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
---echo # Switch to connection con1
--connection con1
XA START 'XA_CON1', 'XA_BQUAL', 12;
@@ -305,7 +280,6 @@ XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
---echo # Switch to connection con2
--connection con2
XA START 'XA_CON2', 'XA_BQUAL', 12;
@@ -314,7 +288,6 @@ XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
---echo # Switch to connection con3
--connection con3
XA START 'XA_CON3', 'XA_BQUAL', 12;
@@ -323,7 +296,6 @@ XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
---echo # Switch to connection con4
--connection con4
XA START 'XA_CON4', 'XA_BQUAL', 12;
@@ -334,161 +306,150 @@ XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
--connection default
---disable_query_log
-
-echo "=========================== Transactions user 1";
+echo ########################### Transactions user 1 - 2;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*1-2*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con1_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*1-2*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con1_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*1-2*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Transactions user 2";
+echo ########################### Transactions user 2 - 2;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*2-2*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*2-2*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*2-2*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Transactions user 3";
+echo ########################### Transactions user 3 - 2;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*3-2*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*3-2*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*3-2*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Transactions user 4";
+echo ########################### Transactions user 4 - 2;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*4-2*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*4-2*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*4-2*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Statements user 1";
+echo ########################### Statements user 1 - 2;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*1-2*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-2*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con1_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*1-2*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Statements user 2";
+echo ########################### Statements user 2 - 2;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*2-2*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-2*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*2-2*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Statements user 3";
+echo ########################### Statements user 3 - 2;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*3-2*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*3-2*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*3-2*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Statements user 4";
+echo ########################### Statements user 4 - 2;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*4-2*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*4-2*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*4-2*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Stages user 1";
+echo ########################### Stages user 1 - 2;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*1-2*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-2*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con1_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*1-2*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Stages user 2";
+echo ########################### Stages user 2 - 2;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*2-2*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-2*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*2-2*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Stages user 3";
+echo ########################### Stages user 3 - 2;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*3-2*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*3-2*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*3-2*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Stages user 4";
+echo ########################### Stages user 4 - 2;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*4-2*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*4-2*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*4-2*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Waits user 1";
+echo ########################### Waits user 1 - 2;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) as has_waits from performance_schema.events_waits_history
+evalp select /*1-2*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-2*/ count(*) as has_waits from performance_schema.events_waits_history
where THREAD_ID = $con1_thread_id;
-eval select count(*) as has_waits from performance_schema.events_waits_history_long
+evalp select /*1-2*/ count(*) as has_waits from performance_schema.events_waits_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Waits user 2";
+echo ########################### Waits user 2 - 2;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*2-2*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-2*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*2-2*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Waits user 3";
+echo ########################### Waits user 3 - 2;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*3-2*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*3-2*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*3-2*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Waits user 4";
+echo ########################### Waits user 4 - 2;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*4-2*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*4-2*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*4-2*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con4_thread_id;
---enable_query_log
-
---echo # Switch to connection default, enable consumers
--connection default
update performance_schema.setup_consumers
@@ -509,7 +470,6 @@ truncate table performance_schema.events_waits_current;
truncate table performance_schema.events_waits_history;
truncate table performance_schema.events_waits_history_long;
---echo # Switch to connection con1
--connection con1
XA START 'XA_CON1', 'XA_BQUAL', 12;
@@ -518,7 +478,6 @@ XA END 'XA_CON1', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON1', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON1', 'XA_BQUAL', 12;
---echo # Switch to connection con2
--connection con2
XA START 'XA_CON2', 'XA_BQUAL', 12;
@@ -527,7 +486,6 @@ XA END 'XA_CON2', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON2', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON2', 'XA_BQUAL', 12;
---echo # Switch to connection con3
--connection con3
XA START 'XA_CON3', 'XA_BQUAL', 12;
@@ -536,7 +494,6 @@ XA END 'XA_CON3', 'XA_BQUAL', 12;
XA PREPARE 'XA_CON3', 'XA_BQUAL', 12;
XA COMMIT 'XA_CON3', 'XA_BQUAL', 12;
---echo # Switch to connection con4
--connection con4
XA START 'XA_CON4', 'XA_BQUAL', 12;
@@ -547,165 +504,150 @@ XA COMMIT 'XA_CON4', 'XA_BQUAL', 12;
--connection default
---disable_query_log
-
-echo "=========================== Transactions user 1";
+echo ########################### Transactions user 1 - 3;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con1_thread_id;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
+evalp select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history
where THREAD_ID = $con1_thread_id;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
+evalp select /*1-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Transactions user 2";
+echo ########################### Transactions user 2 - 3;
-eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
+evalp select /*2-3*/ XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*2-3*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*2-3*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Transactions user 3";
+echo ########################### Transactions user 3 - 3;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*3-3*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*3-3*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*3-3*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Transactions user 4";
+echo ########################### Transactions user 4 - 3;
-eval select count(*) from performance_schema.events_transactions_current
+evalp select /*4-3*/ count(*) from performance_schema.events_transactions_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history
+evalp select /*4-3*/ count(*) from performance_schema.events_transactions_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_transactions_history_long
+evalp select /*4-3*/ count(*) from performance_schema.events_transactions_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Statements user 1";
+echo ########################### Statements user 1 - 3;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
-echo "=========================== Statements user 2";
+echo ########################### Statements user 2 - 3;
-eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*2-3*/ EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-3*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*2-3*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Statements user 3";
+echo ########################### Statements user 3 - 3;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*3-3*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*3-3*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*3-3*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Statements user 4";
+echo ########################### Statements user 4 - 3;
-eval select count(*) from performance_schema.events_statements_current
+evalp select /*4-3*/ count(*) from performance_schema.events_statements_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history
+evalp select /*4-3*/ count(*) from performance_schema.events_statements_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_statements_history_long
+evalp select /*4-3*/ count(*) from performance_schema.events_statements_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Stages user 1";
+echo ########################### Stages user 1 - 3;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME from performance_schema.events_stages_history
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select EVENT_NAME from performance_schema.events_stages_history_long
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME from performance_schema.events_stages_history
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ EVENT_NAME from performance_schema.events_stages_history_long
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
-echo "=========================== Stages user 2";
+echo ########################### Stages user 2 - 3;
-eval select EVENT_NAME from performance_schema.events_stages_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*2-3*/ EVENT_NAME from performance_schema.events_stages_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-3*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*2-3*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Stages user 3";
+echo ########################### Stages user 3 - 3;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*3-3*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*3-3*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*3-3*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Stages user 4";
+echo ########################### Stages user 4 - 3;
-eval select count(*) from performance_schema.events_stages_current
+evalp select /*4-3*/ count(*) from performance_schema.events_stages_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history
+evalp select /*4-3*/ count(*) from performance_schema.events_stages_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_stages_history_long
+evalp select /*4-3*/ count(*) from performance_schema.events_stages_history_long
where THREAD_ID = $con4_thread_id;
-echo "=========================== Waits user 1";
+echo ########################### Waits user 1 - 3;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con1_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select (count(*) > 5) as has_waits from performance_schema.events_waits_history
+evalp select /*1-3*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con1_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*1-3*/ (count(*) > 5) as has_waits from performance_schema.events_waits_history
where THREAD_ID = $con1_thread_id;
-eval select (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
+evalp select /*1-3*/ (count(*) > 15) as has_waits from performance_schema.events_waits_history_long
where THREAD_ID = $con1_thread_id;
-echo "=========================== Waits user 2";
+echo ########################### Waits user 2 - 3;
-eval select EVENT_NAME from performance_schema.events_waits_current
- where THREAD_ID = $con2_thread_id
- order by THREAD_ID, EVENT_ID;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*2-3*/ EVENT_NAME from performance_schema.events_waits_current
+ where THREAD_ID = $con2_thread_id order by THREAD_ID, EVENT_ID;
+evalp select /*2-3*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con2_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*2-3*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con2_thread_id;
-echo "=========================== Waits user 3";
+echo ########################### Waits user 3 - 3;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*3-3*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*3-3*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con3_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*3-3*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con3_thread_id;
-echo "=========================== Waits user 4";
+echo ########################### Waits user 4 - 3;
-eval select count(*) from performance_schema.events_waits_current
+evalp select /*4-3*/ count(*) from performance_schema.events_waits_current
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history
+evalp select /*4-3*/ count(*) from performance_schema.events_waits_history
where THREAD_ID = $con4_thread_id;
-eval select count(*) from performance_schema.events_waits_history_long
+evalp select /*4-3*/ count(*) from performance_schema.events_waits_history_long
where THREAD_ID = $con4_thread_id;
---enable_query_log
-
---echo # Switch to connection default
--connection default
revoke all privileges, grant option from user1@localhost;
diff --git a/mysql-test/suite/period/r/overlaps.result b/mysql-test/suite/period/r/overlaps.result
index 78b1ac18..36a9086f 100644
--- a/mysql-test/suite/period/r/overlaps.result
+++ b/mysql-test/suite/period/r/overlaps.result
@@ -449,3 +449,85 @@ VALUES
('2000-01-01 00:00:00.000000', '2001-01-01 00:00:00.000000', 'abc');
ERROR 23000: Duplicate entry 'abc-2001-01-01 00:00:00.000000-2000-01-01 00:00:00.000000' for key 'index_name'
DROP TABLE t1;
+# MDEV-25370 Update for portion changes autoincrement key in period table
+create or replace table cars(id int auto_increment,
+price int, s date, e date,
+period for p(s,e),
+primary key(id, p without overlaps));
+insert into cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+select * from cars;
+id price s e
+1 1000 2018-01-01 2020-01-01
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+select * from cars;
+id price s e
+1 1000 2018-01-01 2019-01-01
+1 1000 2019-12-01 2020-01-01
+1 1100 2019-01-01 2019-12-01
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+select * from cars;
+id price s e
+1 1000 2018-01-01 2019-01-01
+1 1000 2019-12-01 2019-12-10
+1 1000 2019-12-20 2020-01-01
+1 1100 2019-01-01 2019-12-01
+# AUTO_INCREMENT field is separate from WITHOUT OVERLAPS
+create or replace table cars(id int primary key auto_increment,
+car_id int,
+price int, s date, e date,
+period for p(s,e),
+unique(car_id, p without overlaps));
+insert cars(car_id, price, s, e) values (1, 1000, '2018-01-01', '2020-01-01');
+select * from cars;
+id car_id price s e
+1 1 1000 2018-01-01 2020-01-01
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+select * from cars;
+id car_id price s e
+1 1 1100 2019-01-01 2019-12-01
+2 1 1000 2018-01-01 2019-01-01
+3 1 1000 2019-12-01 2020-01-01
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+select * from cars;
+id car_id price s e
+1 1 1100 2019-01-01 2019-12-01
+2 1 1000 2018-01-01 2019-01-01
+4 1 1000 2019-12-01 2019-12-10
+5 1 1000 2019-12-20 2020-01-01
+# AUTO_INCREMENT field is both standalone and in WITHOUT OVERLAPS
+create or replace table cars(id int primary key auto_increment,
+price int, s date, e date,
+period for p(s,e),
+unique(id, p without overlaps));
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+insert cars(price, s, e) values (1000, '2021-01-01', '2022-01-01');
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+# autoincrement index is: id int primary key
+# id increments each time.
+select * from cars;
+id price s e
+1 1100 2019-01-01 2019-12-01
+2 1000 2021-01-01 2022-01-01
+3 1000 2018-01-01 2019-01-01
+4 1000 2019-12-01 2020-01-01
+truncate cars;
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+select * from cars;
+id price s e
+2 1000 2018-01-01 2019-12-10
+3 1000 2019-12-20 2020-01-01
+create or replace table cars(id int unique auto_increment,
+price int, s date, e date,
+period for p(s,e),
+primary key (id, p without overlaps));
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+# autoincrement index is: primary key (id, p without overlaps)
+# id is not incremented, hence duplication error
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+ERROR 23000: Duplicate entry '1' for key 'id'
+truncate cars;
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+ERROR 23000: Duplicate entry '1' for key 'id'
+drop table cars;
diff --git a/mysql-test/suite/period/t/overlaps.test b/mysql-test/suite/period/t/overlaps.test
index 4e71d64d..b762743b 100644
--- a/mysql-test/suite/period/t/overlaps.test
+++ b/mysql-test/suite/period/t/overlaps.test
@@ -458,3 +458,80 @@ VALUES
('2000-01-01 00:00:00.000000', '2001-01-01 00:00:00.000000', 'abc '),
('2000-01-01 00:00:00.000000', '2001-01-01 00:00:00.000000', 'abc');
DROP TABLE t1;
+
+--echo # MDEV-25370 Update for portion changes autoincrement key in period table
+create or replace table cars(id int auto_increment,
+ price int, s date, e date,
+ period for p(s,e),
+ primary key(id, p without overlaps));
+
+insert into cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+select * from cars;
+
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+--sorted_result
+select * from cars;
+
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+--sorted_result
+select * from cars;
+
+--echo # AUTO_INCREMENT field is separate from WITHOUT OVERLAPS
+create or replace table cars(id int primary key auto_increment,
+ car_id int,
+ price int, s date, e date,
+ period for p(s,e),
+ unique(car_id, p without overlaps));
+
+insert cars(car_id, price, s, e) values (1, 1000, '2018-01-01', '2020-01-01');
+select * from cars;
+
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+--sorted_result
+select * from cars;
+
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+--sorted_result
+select * from cars;
+
+
+--echo # AUTO_INCREMENT field is both standalone and in WITHOUT OVERLAPS
+create or replace table cars(id int primary key auto_increment,
+ price int, s date, e date,
+ period for p(s,e),
+ unique(id, p without overlaps));
+
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+insert cars(price, s, e) values (1000, '2021-01-01', '2022-01-01');
+
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+--echo # autoincrement index is: id int primary key
+--echo # id increments each time.
+--sorted_result
+select * from cars;
+
+truncate cars;
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+--sorted_result
+select * from cars;
+
+create or replace table cars(id int unique auto_increment,
+ price int, s date, e date,
+ period for p(s,e),
+ primary key (id, p without overlaps));
+
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+--echo # autoincrement index is: primary key (id, p without overlaps)
+--echo # id is not incremented, hence duplication error
+--error ER_DUP_ENTRY
+update cars for portion of p from '2019-01-01' to '2019-12-01' set price= 1100;
+
+truncate cars;
+insert cars(price, s, e) values (1000, '2018-01-01', '2020-01-01');
+
+--error ER_DUP_ENTRY
+delete from cars for portion of p from '2019-12-10' to '2019-12-20';
+
+drop table cars;
diff --git a/mysql-test/suite/plugins/r/compression,innodb-lz4.rdiff b/mysql-test/suite/plugins/r/compression,innodb-lz4.rdiff
index 791aecda..00abc196 100644
--- a/mysql-test/suite/plugins/r/compression,innodb-lz4.rdiff
+++ b/mysql-test/suite/plugins/r/compression,innodb-lz4.rdiff
@@ -18,11 +18,11 @@
-# restart: --disable-provider-bzip2
+# restart: --disable-provider-lz4
select a, left(b, 9), length(b) from t1;
- ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
show warnings;
Level Code Message
-Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
+Warning 4185 MariaDB tried to use the LZ4 compression, but its provider plugin is not loaded
- Error 1932 Table 'test.t1' doesn't exist in engine
+ Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
drop table t1;
# restart
diff --git a/mysql-test/suite/plugins/r/compression,innodb-lzma.rdiff b/mysql-test/suite/plugins/r/compression,innodb-lzma.rdiff
index 13c42f82..0119adc7 100644
--- a/mysql-test/suite/plugins/r/compression,innodb-lzma.rdiff
+++ b/mysql-test/suite/plugins/r/compression,innodb-lzma.rdiff
@@ -18,11 +18,11 @@
-# restart: --disable-provider-bzip2
+# restart: --disable-provider-lzma
select a, left(b, 9), length(b) from t1;
- ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
show warnings;
Level Code Message
-Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
+Warning 4185 MariaDB tried to use the LZMA compression, but its provider plugin is not loaded
- Error 1932 Table 'test.t1' doesn't exist in engine
+ Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
drop table t1;
# restart
diff --git a/mysql-test/suite/plugins/r/compression,innodb-lzo.rdiff b/mysql-test/suite/plugins/r/compression,innodb-lzo.rdiff
index cc7783cc..52a794a9 100644
--- a/mysql-test/suite/plugins/r/compression,innodb-lzo.rdiff
+++ b/mysql-test/suite/plugins/r/compression,innodb-lzo.rdiff
@@ -18,11 +18,11 @@
-# restart: --disable-provider-bzip2
+# restart: --disable-provider-lzo
select a, left(b, 9), length(b) from t1;
- ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
show warnings;
Level Code Message
-Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
+Warning 4185 MariaDB tried to use the LZO compression, but its provider plugin is not loaded
- Error 1932 Table 'test.t1' doesn't exist in engine
+ Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
drop table t1;
# restart
diff --git a/mysql-test/suite/plugins/r/compression,innodb-snappy.rdiff b/mysql-test/suite/plugins/r/compression,innodb-snappy.rdiff
index 98c4427a..cbbd754a 100644
--- a/mysql-test/suite/plugins/r/compression,innodb-snappy.rdiff
+++ b/mysql-test/suite/plugins/r/compression,innodb-snappy.rdiff
@@ -18,11 +18,11 @@
-# restart: --disable-provider-bzip2
+# restart: --disable-provider-snappy
select a, left(b, 9), length(b) from t1;
- ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
show warnings;
Level Code Message
-Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
+Warning 4185 MariaDB tried to use the Snappy compression, but its provider plugin is not loaded
- Error 1932 Table 'test.t1' doesn't exist in engine
+ Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
drop table t1;
# restart
diff --git a/mysql-test/suite/plugins/r/compression,mroonga-lz4.rdiff b/mysql-test/suite/plugins/r/compression,mroonga-lz4.rdiff
index ac186d3c..3f449220 100644
--- a/mysql-test/suite/plugins/r/compression,mroonga-lz4.rdiff
+++ b/mysql-test/suite/plugins/r/compression,mroonga-lz4.rdiff
@@ -23,11 +23,11 @@
-# restart: --disable-provider-bzip2
+# restart: --disable-provider-lz4
select a, left(b, 9), length(b) from t1;
--ERROR 42S02: Table 'test.t1' doesn't exist in engine
+-ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
-show warnings;
-Level Code Message
-Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
--Error 1932 Table 'test.t1' doesn't exist in engine
+-Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
+a left(b, 9) length(b)
+0 0
+1 0
diff --git a/mysql-test/suite/plugins/r/compression.result b/mysql-test/suite/plugins/r/compression.result
index d7c11abc..07bfbc0b 100644
--- a/mysql-test/suite/plugins/r/compression.result
+++ b/mysql-test/suite/plugins/r/compression.result
@@ -18,10 +18,10 @@ a left(b, 9) length(b)
2 ghighighi 30000
# restart: --disable-provider-bzip2
select a, left(b, 9), length(b) from t1;
-ERROR 42S02: Table 'test.t1' doesn't exist in engine
+ERROR HY000: Table `test`.`t1` is corrupted. Please drop the table and recreate.
show warnings;
Level Code Message
Warning 4185 MariaDB tried to use the BZip2 compression, but its provider plugin is not loaded
-Error 1932 Table 'test.t1' doesn't exist in engine
+Error 1877 Table `test`.`t1` is corrupted. Please drop the table and recreate.
drop table t1;
# restart
diff --git a/mysql-test/suite/plugins/t/compression.test b/mysql-test/suite/plugins/t/compression.test
index df892acf..95ae2df9 100644
--- a/mysql-test/suite/plugins/t/compression.test
+++ b/mysql-test/suite/plugins/t/compression.test
@@ -40,7 +40,7 @@ let $restart_parameters = --disable-provider-$alg;
source include/restart_mysqld.inc;
if ($engine == "innodb") {
- error ER_NO_SUCH_TABLE_IN_ENGINE;
+ error ER_TABLE_CORRUPT;
select a, left(b, 9), length(b) from t1;
show warnings;
}
diff --git a/mysql-test/suite/roles/definer.result b/mysql-test/suite/roles/definer.result
index 091ba255..38242c81 100644
--- a/mysql-test/suite/roles/definer.result
+++ b/mysql-test/suite/roles/definer.result
@@ -279,6 +279,7 @@ a b c
111 4 0
2 20 200
delete from t1 where a=111;
+/*!999999\- enable the sandbox mode */
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
diff --git a/mysql-test/suite/rpl/include/rpl_extra_col_master.test b/mysql-test/suite/rpl/include/rpl_extra_col_master.test
index a7abe69d..3fef3cc1 100644
--- a/mysql-test/suite/rpl/include/rpl_extra_col_master.test
+++ b/mysql-test/suite/rpl/include/rpl_extra_col_master.test
@@ -59,6 +59,10 @@
#VARCHAR(M)
#
+--disable_query_log
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
+
--let $_saved_conn= $CURRENT_CONNECTION
let $binformat = `SHOW VARIABLES LIKE '%binlog_format%'`;
diff --git a/mysql-test/suite/rpl/r/parallel_backup.result b/mysql-test/suite/rpl/r/parallel_backup.result
index 83c7a916..36183892 100644
--- a/mysql-test/suite/rpl/r/parallel_backup.result
+++ b/mysql-test/suite/rpl/r/parallel_backup.result
@@ -125,7 +125,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
@@ -168,7 +168,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
diff --git a/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result b/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
index e1fd7701..08955a77 100644
--- a/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
+++ b/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
@@ -128,7 +128,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
@@ -171,7 +171,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
diff --git a/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result b/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
index 9e29e5a3..bb00bf9c 100644
--- a/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
+++ b/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
@@ -128,7 +128,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
@@ -171,7 +171,7 @@ include/save_master_gtid.inc
connection slave;
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
-SET @@global.innodb_lock_wait_timeout =1;
+SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
include/start_slave.inc
connection aux_slave;
diff --git a/mysql-test/suite/rpl/r/rpl_auditing.result b/mysql-test/suite/rpl/r/rpl_auditing.result
new file mode 100644
index 00000000..1861beb4
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_auditing.result
@@ -0,0 +1,64 @@
+include/master-slave.inc
+[connection master]
+drop table if exists t1;
+connection slave;
+reset master;
+CREATE TABLE IF NOT EXISTS mysql.server_audit_filters (
+filtername char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+rule longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'true' CHECK (json_valid(rule)),
+CONSTRAINT c_filtername UNIQUE (filtername)
+) ENGINE=Aria;
+CREATE TABLE IF NOT EXISTS mysql.server_audit_users (host char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+user char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+filtername char(80) NOT NULL DEFAULT '',
+CONSTRAINT c_host_user UNIQUE (host, user)
+) ENGINE=Aria;
+INSERT INTO mysql.server_audit_filters VALUES ('ignore_sys', '{"ignore_tables" : "mysql.*"}');
+INSERT INTO mysql.server_audit_users VALUES ('%','<replication_slave>','ignore_sys');
+INSERT INTO mysql.server_audit_users VALUES ('%','root','ignore_sys');
+install plugin server_audit soname 'server_audit2';
+set global server_audit_logging=on;
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+truncate t1;
+drop table t1;
+connection slave;
+set global server_audit_logging=off;
+truncate mysql.server_audit_filters;
+truncate mysql.server_audit_users;
+INSERT INTO mysql.server_audit_filters VALUES ('no_logging','false');
+INSERT INTO mysql.server_audit_users VALUES ('%','<replication_slave>','no_logging');
+set global server_audit_logging=on;
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+truncate t1;
+drop table t1;
+connection slave;
+set global server_audit_logging=off;
+uninstall plugin server_audit;
+Warnings:
+Warning 1620 Plugin is busy and will be uninstalled on shutdown
+truncate mysql.server_audit_filters;
+truncate mysql.server_audit_users;
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,file_path=server_audit.log,0
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,rotate_size=1000000,0
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,file_rotations=9,0
+TIME,HOSTNAME,root,localhost,ID,0,AUDIT_CONFIG,test,logging=ON,0
+TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_logging=on',0
+TIME,HOSTNAME,<replication_slave>,,ID,ID,CREATE,test,t1,
+TIME,HOSTNAME,<replication_slave>,,ID,ID,WRITE,test,t1,
+TIME,HOSTNAME,<replication_slave>,,ID,ID,CREATE,test,t1,
+TIME,HOSTNAME,<replication_slave>,,ID,ID,DROP,test,t1,
+TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select master_pos_wait(\'master-bin.#', POS, 300, \'\')',0
+TIME,HOSTNAME,root,localhost,ID,0,AUDIT_CONFIG,test,logging=OFF,0
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,file_path=server_audit.log,0
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,rotate_size=1000000,0
+TIME,HOSTNAME,,,0,0,AUDIT_CONFIG,,file_rotations=9,0
+TIME,HOSTNAME,root,localhost,ID,0,AUDIT_CONFIG,test,logging=ON,0
+TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_logging=on',0
+TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select master_pos_wait(\'master-bin.#', POS, 300, \'\')',0
+TIME,HOSTNAME,root,localhost,ID,0,AUDIT_CONFIG,test,logging=OFF,0
+connection master;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_dump_slave_gtid_state_info.result b/mysql-test/suite/rpl/r/rpl_binlog_dump_slave_gtid_state_info.result
index af79b482..20dd9076 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_dump_slave_gtid_state_info.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_dump_slave_gtid_state_info.result
@@ -1,6 +1,7 @@
include/master-slave.inc
[connection master]
connection master;
+SET @org_log_warnings=@@GLOBAL.LOG_WARNINGS;
SET GLOBAL LOG_WARNINGS=2;
connection slave;
include/stop_slave.inc
@@ -41,11 +42,11 @@ connection master;
include/wait_for_pattern_in_file.inc
FOUND 1 /using_gtid\(1\), gtid\(\'0-1-2,10-1-1\'\).*/ in mysqld.1.err
"===== Clean up ====="
+SET GLOBAL LOG_WARNINGS=@org_log_warnings;
connection slave;
include/stop_slave.inc
CHANGE MASTER TO MASTER_USE_GTID=no;
include/start_slave.inc
connection master;
DROP TABLE t;
-SET GLOBAL LOG_WARNINGS=default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_change_master.result b/mysql-test/suite/rpl/r/rpl_change_master.result
index 88801b07..48cec72d 100644
--- a/mysql-test/suite/rpl/r/rpl_change_master.result
+++ b/mysql-test/suite/rpl/r/rpl_change_master.result
@@ -26,9 +26,4 @@ connection master;
CHANGE MASTER TO MASTER_USER='root', MASTER_SSL=0, MASTER_SSL_CA='', MASTER_SSL_CERT='',
MASTER_SSL_KEY='', MASTER_SSL_CRL='', MASTER_SSL_CRLPATH='';
CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='', MASTER_SSL=0;
-"Usage of CURRENT_POS in CHANGE MASTER MASTER_USE_GTID is dreprecated.
-CHANGE MASTER TO MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
-CHANGE MASTER TO MASTER_USE_GTID=SLAVE_POS;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_change_master_demote.result b/mysql-test/suite/rpl/r/rpl_change_master_demote.result
index 70d141ef..2114ac4a 100644
--- a/mysql-test/suite/rpl/r/rpl_change_master_demote.result
+++ b/mysql-test/suite/rpl/r/rpl_change_master_demote.result
@@ -683,6 +683,23 @@ connection master;
CHANGE MASTER TO master_host='127.0.0.1', master_port=SLAVE_PORT, master_user='root', master_use_gtid=Slave_Pos, master_demote_to_slave=invalid;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'invalid' at line 1
#
+# MDEV-31768
+# Ensure MASTER_DEMOTE_TO_REPLICA aliases MASTER_DEMOTE_TO_SLAVE
+#
+connection slave;
+RESET MASTER;
+include/reset_slave.inc
+CREATE TABLE t_mdev_31768 (a int);
+CHANGE MASTER TO master_use_gtid=Replica_Pos, master_demote_to_replica=1;
+# Validating alias MASTER_DEMOTE_TO_REPLICA provides intended behavior..
+# ..success
+DROP TABLE t_mdev_31768;
+RESET MASTER;
+include/reset_slave.inc
+# Clear primary binlog state to match replica
+connection master;
+RESET MASTER;
+#
# Cleanup
#
connection master;
diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result
index 5250c4bb..9d3b2ccd 100644
--- a/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result
@@ -11,6 +11,7 @@ SELECT * FROM t1;
i
1
connection slave;
+include/save_master_gtid.inc
connection slave;
call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
# Case 0 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
@@ -24,6 +25,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) :
SET @saved_dbug = @@GLOBAL.debug_dbug;
@@ -33,6 +35,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(2);
INSERT INTO t1 VALUES(3);
COMMIT;
+include/save_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -46,6 +49,7 @@ i
SET @@global.debug_dbug=@saved_dbug;
START SLAVE io_thread;
include/wait_for_slave_io_to_start.inc
+include/sync_with_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -59,6 +63,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) : 1
SET @@global.debug_dbug="d,kill_slave_io_before_commit";
@@ -67,6 +72,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(4);
INSERT INTO t1 VALUES(5);
COMMIT;
+include/save_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -84,6 +90,7 @@ i
SET @@global.debug_dbug=@saved_dbug;
START SLAVE io_thread;
include/wait_for_slave_io_to_start.inc
+include/sync_with_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -97,6 +104,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) : 1
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) :
SET @@global.debug_dbug="d,kill_slave_io_before_commit";
@@ -114,6 +122,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(10);
INSERT INTO t1 VALUES(11);
COMMIT;
+include/save_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -140,6 +149,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) : 1
SELECT * FROM t1;
@@ -157,6 +167,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) : 1
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) : 1
SET @@global.debug_dbug="d,kill_slave_io_before_commit";
@@ -166,6 +177,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(12);
INSERT INTO t1 VALUES(13);
COMMIT;
+include/save_master_gtid.inc
START TRANSACTION;
INSERT INTO t1 VALUES(14);
INSERT INTO t1 VALUES(15);
@@ -204,11 +216,16 @@ i
10
11
SET @@global.debug_dbug=@saved_dbug;
+include/sync_with_master_gtid.inc
include/stop_slave_sql.inc
DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) : 1
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+connection master;
+include/save_master_gtid.inc
+connection slave;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) :
SELECT * FROM t1;
@@ -230,6 +247,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) : 1
SET @@global.debug_dbug="d,kill_slave_io_after_2_events";
@@ -239,6 +257,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(18);
INSERT INTO t1 VALUES(19);
COMMIT;
+include/save_master_gtid.inc
START TRANSACTION;
INSERT INTO t1 VALUES(20);
INSERT INTO t1 VALUES(21);
@@ -287,11 +306,16 @@ i
16
17
SET @@global.debug_dbug=@saved_dbug;
+include/sync_with_master_gtid.inc
include/stop_slave_sql.inc
DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) : 1
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+connection master;
+include/save_master_gtid.inc
+connection slave;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) :
SELECT * FROM t1;
@@ -317,6 +341,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) :
SET @@global.debug_dbug="d,kill_slave_io_after_2_events";
@@ -335,6 +360,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(28);
INSERT INTO t1 VALUES(29);
COMMIT;
+include/save_master_gtid.inc
SELECT * FROM t1;
i
1
@@ -389,6 +415,7 @@ DO_DOMAIN_IDS (BEFORE) :
IGNORE_DOMAIN_IDS (BEFORE) :
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
include/start_slave.inc
+include/sync_with_master_gtid.inc
DO_DOMAIN_IDS (AFTER) :
IGNORE_DOMAIN_IDS (AFTER) : 1
SELECT * FROM t1;
diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result
index a54ff99b..cd13590b 100644
--- a/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result
@@ -1,9 +1,6 @@
include/master-slave.inc
[connection master]
connection master;
-call mtr.add_suppression("mysqld: Table '.*gtid_slave_pos' is marked as crashed and should be repaired");
-call mtr.add_suppression("Checking table: './mysql/gtid_slave_pos'");
-call mtr.add_suppression("mysql.gtid_slave_pos: 1 client is using or hasn't closed the table properly");
SET @@session.gtid_domain_id= 0;
create table ti (a int auto_increment primary key) engine=innodb;
create table tm (a int auto_increment primary key) engine=myisam;
diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result
index f6eff3f9..948b4f48 100644
--- a/mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result
@@ -21,8 +21,9 @@ INSERT INTO t2 VALUES(1);
SELECT * FROM t2;
i
1
+include/save_master_gtid.inc
connection slave;
-connection slave;
+include/sync_with_master_gtid.inc
SELECT * FROM t1;
i
1
diff --git a/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result b/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
index be98b7e3..145b269a 100644
--- a/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
@@ -657,7 +657,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-103. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-104. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='InnoDB';
@@ -697,7 +697,7 @@ Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default databas
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-104. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-105. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
*** Drop t15 ***
DROP TABLE t15;
@@ -716,7 +716,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-105. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-106. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='InnoDB';
@@ -756,7 +756,7 @@ Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Defau
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-106. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-107. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
*** Drop t16 ***
DROP TABLE t16;
@@ -775,7 +775,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-107. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-108. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='InnoDB';
diff --git a/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result b/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result
index 53b20b18..dae497d5 100644
--- a/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result
@@ -657,7 +657,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-103. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-104. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='MyISAM';
@@ -697,7 +697,7 @@ Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default databas
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-104. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-105. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
*** Drop t15 ***
DROP TABLE t15;
@@ -716,7 +716,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-105. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-106. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='MyISAM';
@@ -756,7 +756,7 @@ Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Defau
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-106. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-107. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
*** Drop t16 ***
DROP TABLE t16;
@@ -775,7 +775,7 @@ START SLAVE;
STOP SLAVE;
include/reset_slave.inc
Warnings:
-Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-107. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+Warning 1948 Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-108. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
) ENGINE='MyISAM';
diff --git a/mysql-test/suite/rpl/r/rpl_get_lock.result b/mysql-test/suite/rpl/r/rpl_get_lock.result
index b852546e..cbb02a32 100644
--- a/mysql-test/suite/rpl/r/rpl_get_lock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_lock.result
@@ -1,6 +1,6 @@
include/master-slave.inc
[connection master]
-CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+SET GLOBAL LOG_WARNINGS=4;
create table t1(n int);
insert into t1 values(get_lock("lock",2));
disconnect master;
@@ -35,4 +35,5 @@ NULL
connection master1;
drop table t1;
connection slave;
+connection default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_basic.result b/mysql-test/suite/rpl/r/rpl_gtid_basic.result
index a7da7010..afc700a7 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_basic.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_basic.result
@@ -69,8 +69,6 @@ INSERT INTO t2 VALUES (5, "i1a");
connection server_4;
CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
SELECT * FROM t1 ORDER BY a;
a b
@@ -91,8 +89,6 @@ connection server_2;
include/stop_slave.inc
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
connection server_4;
UPDATE t2 SET b="j1a" WHERE a=5;
@@ -121,8 +117,6 @@ include/save_master_gtid.inc
connection server_3;
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
MASTER_USE_GTID=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
include/sync_with_master_gtid.inc
SELECT * FROM t2 ORDER BY a;
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_crash.result b/mysql-test/suite/rpl/r/rpl_gtid_crash.result
index 179461ad..c47beacf 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_crash.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_crash.result
@@ -4,6 +4,7 @@ connection server_1;
call mtr.add_suppression("Checking table:");
call mtr.add_suppression("client is using or hasn't closed the table properly");
call mtr.add_suppression("Table .* is marked as crashed and should be repaired");
+call mtr.add_suppression("Could not read packet:.* errno: 11");
flush tables;
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result b/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result
index a7cb710c..4c35d42d 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result
@@ -75,8 +75,6 @@ INSERT INTO t1 VALUES (2);
SET sql_log_bin = 1;
INSERT INTO t1 VALUES (3);
CHANGE MASTER TO master_use_gtid=current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
BEGIN;
SET GLOBAL gtid_slave_pos = "100-100-100";
ERROR 25000: You are not allowed to execute this command in a transaction
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_grouping.result b/mysql-test/suite/rpl/r/rpl_gtid_grouping.result
index ad7d6116..1b4d86dd 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_grouping.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_grouping.result
@@ -50,5 +50,4 @@ CHANGE MASTER TO MASTER_USE_GTID=no;
include/start_slave.inc
connection master;
DROP TABLE t;
-SET GLOBAL LOG_WARNINGS=default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_header_valid.result b/mysql-test/suite/rpl/r/rpl_gtid_header_valid.result
new file mode 100644
index 00000000..6731abc2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_header_valid.result
@@ -0,0 +1,146 @@
+include/master-slave.inc
+[connection master]
+#
+# Initialize test data
+connection master;
+create table t1 (a int) engine=innodb;
+include/save_master_gtid.inc
+set @@SESSION.debug_dbug= "+d,binlog_force_commit_id";
+connection slave;
+set SQL_LOG_BIN= 0;
+call mtr.add_suppression('Found invalid event in binary log');
+call mtr.add_suppression('Slave SQL.*Relay log read failure: Could not parse relay log event entry.* 1594');
+set SQL_LOG_BIN= 1;
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+include/start_slave.inc
+#
+# Test FL_PREPARED_XA
+connection master;
+set @@SESSION.debug_dbug= "+d,negate_xid_from_gtid";
+set @commit_id= 100;
+XA START 'x1';
+insert into t1 values (1);
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_from_gtid";
+XA COMMIT 'x1';
+include/save_master_gtid.inc
+# Waiting for slave to find invalid event..
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1594]
+STOP SLAVE IO_THREAD;
+# Reset master binlogs (as there is an invalid event) and slave state
+connection master;
+RESET MASTER;
+connection slave;
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+include/start_slave.inc
+#
+# Test FL_COMPLETED_XA
+connection master;
+set @commit_id= 101;
+XA START 'x1';
+insert into t1 values (2);
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "+d,negate_xid_from_gtid";
+XA COMMIT 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_from_gtid";
+include/save_master_gtid.inc
+# Waiting for slave to find invalid event..
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1594]
+STOP SLAVE IO_THREAD;
+# Cleanup hanging XA PREPARE on slave
+set statement SQL_LOG_BIN=0 for XA COMMIT 'x1';
+# Reset master binlogs (as there is an invalid event) and slave state
+connection master;
+RESET MASTER;
+connection slave;
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+include/start_slave.inc
+#
+# Test Missing xid.data (but has format id and length description parts)
+connection master;
+set @commit_id= 101;
+XA START 'x1';
+insert into t1 values (1);
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "+d,negate_xid_data_from_gtid";
+XA COMMIT 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_data_from_gtid";
+include/save_master_gtid.inc
+# Waiting for slave to find invalid event..
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1594]
+STOP SLAVE IO_THREAD;
+# Cleanup hanging XA PREPARE on slave
+set statement SQL_LOG_BIN=0 for XA COMMIT 'x1';
+# Reset master binlogs (as there is an invalid event) and slave state
+connection master;
+RESET MASTER;
+connection slave;
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+include/start_slave.inc
+#
+# Test FL_EXTRA_MULTI_ENGINE
+connection master;
+set @old_dbug= @@SESSION.debug_dbug;
+set @@SESSION.debug_dbug= "+d,inject_fl_extra_multi_engine_into_gtid";
+set @commit_id= 102;
+insert into t1 values (3);
+include/save_master_gtid.inc
+set @@SESSION.debug_dbug=@old_dbug;
+connection slave;
+# Waiting for slave to find invalid event..
+include/wait_for_slave_sql_error.inc [errno=1594]
+STOP SLAVE IO_THREAD;
+# Reset master binlogs (as there is an invalid event) and slave state
+connection master;
+RESET MASTER;
+connection slave;
+RESET SLAVE;
+RESET MASTER;
+set @@global.gtid_slave_pos="";
+include/start_slave.inc
+#
+# Test FL_COMMIT_ALTER
+connection master;
+set @old_dbug= @@SESSION.debug_dbug;
+set @@SESSION.debug_dbug= "+d,negate_alter_fl_from_gtid";
+set @old_alter_tp= @@SESSION.binlog_alter_two_phase;
+set @@SESSION.binlog_alter_two_phase= 1;
+alter table t1 add column (nc int);
+include/save_master_gtid.inc
+set @@SESSION.debug_dbug=@old_dbug;
+set @@SESSION.binlog_alter_two_phase=@old_alter_tp;
+connection slave;
+# Waiting for slave to find invalid event..
+include/wait_for_slave_sql_error.inc [errno=1594]
+STOP SLAVE IO_THREAD;
+# Reset master binlogs (as there is an invalid event) and slave state
+connection master;
+RESET MASTER;
+connection slave;
+SET STATEMENT sql_log_bin=0 FOR alter table t1 add column (nc int);
+RESET SLAVE;
+RESET MASTER;
+set @@global.gtid_slave_pos="";
+include/start_slave.inc
+#
+# Cleanup
+connection master;
+drop table t1;
+include/save_master_gtid.inc
+connection slave;
+include/sync_with_master_gtid.inc
+include/rpl_end.inc
+# End of rpl_gtid_header_valid.test
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result
index cea5aaae..665fc536 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result
@@ -45,8 +45,6 @@ SET GLOBAL gtid_slave_pos= '0-2-10';
connection server_1;
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2,
master_user= 'root', master_use_gtid=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
START SLAVE;
connection server_2;
INSERT INTO t1 VALUES (11);
@@ -76,8 +74,6 @@ connection server_2;
INSERT INTO t1 VALUES (22);
CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1,
master_user= 'root', master_use_gtid=CURRENT_POS;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
START SLAVE;
SET sql_log_bin= 0;
CALL mtr.add_suppression("which is not in the master's binlog. Since the master's binlog contains GTIDs with higher sequence numbers, it probably means that the slave has diverged");
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result b/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result
index ae0050c3..e8633cd4 100644
--- a/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result
+++ b/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result
@@ -111,6 +111,10 @@ a
6
7
*** MDEV-4486: Allow to start old-style replication even if mysql.gtid_slave_pos is unavailable
+connection server_1;
+INSERT INTO t1 VALUES (8);
+DELETE FROM t1 WHERE a=8;
+connection server_2;
connection server_2;
include/stop_slave.inc
CHANGE MASTER TO master_use_gtid= no;
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat.result b/mysql-test/suite/rpl/r/rpl_heartbeat.result
index 2a578245..c9baf960 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat.result
@@ -1,8 +1,9 @@
-connect master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK;
-connect slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK;
+include/master-slave.inc
+[connection master]
connection master;
reset master;
connection slave;
+include/stop_slave.inc
set @restore_slave_net_timeout= @@global.slave_net_timeout;
set @@global.slave_net_timeout= 10;
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
@@ -68,5 +69,5 @@ connection master;
drop table t1;
connection slave;
set @@global.slave_net_timeout= @restore_slave_net_timeout;
-include/stop_slave.inc
+include/rpl_end.inc
End of tests
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat_debug.result b/mysql-test/suite/rpl/r/rpl_heartbeat_debug.result
index dc45c0b9..a89010cd 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_debug.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_debug.result
@@ -9,8 +9,6 @@ Variable_name Slave_heartbeat_period
Value 60.000
SET @saved_dbug= @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,simulate_slave_heartbeat_network_error";
-CALL mtr.add_suppression('SET @master_heartbeat_period to master failed with error');
-CALL mtr.add_suppression('Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again');
include/start_slave.inc
connection master;
drop table if exists t1;
diff --git a/mysql-test/suite/rpl/r/rpl_mark_optimize_tbl_ddl.result b/mysql-test/suite/rpl/r/rpl_mark_optimize_tbl_ddl.result
index 9aa31a73..09edd288 100644
--- a/mysql-test/suite/rpl/r/rpl_mark_optimize_tbl_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_mark_optimize_tbl_ddl.result
@@ -55,7 +55,6 @@ PARTITION pmax VALUES LESS THAN (MAXVALUE));
INSERT INTO t1 VALUES (1), (10), (100), (1000);
ALTER TABLE t1 ANALYZE PARTITION p0;
Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
ALTER TABLE t1 OPTIMIZE PARTITION p0;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/rpl/r/rpl_mdev33798.result b/mysql-test/suite/rpl/r/rpl_mdev33798.result
new file mode 100644
index 00000000..8796e948
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev33798.result
@@ -0,0 +1,143 @@
+include/rpl_init.inc [topology=1->2,1->3]
+connect server_2b,127.0.0.1,root,,,$SERVER_MYPORT_2;
+connection server_2;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET @old_parallel_mode= @@GLOBAL.slave_parallel_mode;
+SET @old_timeout= @@GLOBAL.lock_wait_timeout;
+SET @old_innodb_timeout= @@GLOBAL.innodb_lock_wait_timeout;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+set global slave_parallel_mode= aggressive;
+SET GLOBAL lock_wait_timeout= 86400;
+SET GLOBAL innodb_lock_wait_timeout= 86400;
+SET STATEMENT sql_log_bin=0 FOR ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+include/start_slave.inc
+connection server_1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0);
+connection server_2;
+include/stop_slave.inc
+connection server_2b;
+BEGIN;
+SELECT * FROM t1 WHERE a=1 FOR UPDATE;
+a b
+1 0
+SELECT * FROM t1 WHERE a=5 FOR UPDATE;
+a b
+5 0
+connection server_1;
+SET SESSION gtid_domain_id= 1;
+BEGIN;
+UPDATE t1 SET b=1 WHERE a=1;
+UPDATE t1 SET b=1 WHERE a=7;
+COMMIT;
+UPDATE t1 SET b=2 WHERE a=3;
+SET SESSION gtid_domain_id=2;
+BEGIN;
+UPDATE t1 SET b=3 WHERE a=5;
+UPDATE t1 SET b=3 WHERE a=3;
+COMMIT;
+UPDATE t1 SET b=4 WHERE a=7;
+SET SESSION gtid_domain_id= 0;
+include/save_master_gtid.inc
+connection server_2;
+include/start_slave.inc
+connection server_2b;
+ROLLBACK;
+connection server_2;
+include/sync_with_master_gtid.inc
+SELECT a, (
+(a=1 AND b=1) OR
+(a=3 AND (b=2 OR b=3)) OR
+(a=5 AND b=3) OR
+(a=7 AND (b=1 OR b=4)) OR
+((a MOD 2)=0 AND b=0)) AS `ok`
+ FROM t1
+ORDER BY a;
+a ok
+1 1
+2 1
+3 1
+4 1
+5 1
+6 1
+7 1
+8 1
+connection server_3;
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+connection server_2;
+include/stop_slave.inc
+CHANGE MASTER 'm2' to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+connection server_1;
+SET SESSION gtid_domain_id= 1;
+BEGIN;
+UPDATE t1 SET b=11 WHERE a=1;
+UPDATE t1 SET b=11 WHERE a=7;
+COMMIT;
+UPDATE t1 SET b=12 WHERE a=3;
+SET SESSION gtid_domain_id= 1;
+connection server_3;
+SET SESSION gtid_domain_id=3;
+BEGIN;
+UPDATE t1 SET b=13 WHERE a=5;
+UPDATE t1 SET b=13 WHERE a=3;
+COMMIT;
+UPDATE t1 SET b=14 WHERE a=7;
+include/save_master_gtid.inc
+connection server_2b;
+BEGIN;
+SELECT * FROM t1 WHERE a=1 FOR UPDATE;
+a b
+1 1
+SELECT * FROM t1 WHERE a=5 FOR UPDATE;
+a b
+5 3
+START ALL SLAVES;
+Warnings:
+Note 1937 SLAVE 'm2' started
+Note 1937 SLAVE '' started
+connection server_2b;
+ROLLBACK;
+connection server_1;
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+connection server_3;
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+SELECT a, (
+(a=1 AND b=11) OR
+(a=3 AND (b=12 OR b=13)) OR
+(a=5 AND b=13) OR
+(a=7 AND (b=11 OR b=14)) OR
+((a MOD 2)=0 AND b=0)) AS `ok`
+ FROM t1
+ORDER BY a;
+a ok
+1 1
+2 1
+3 1
+4 1
+5 1
+6 1
+7 1
+8 1
+SET default_master_connection = 'm2';
+include/stop_slave.inc
+RESET SLAVE 'm2' ALL;
+SET default_master_connection = '';
+connection server_3;
+include/start_slave.inc
+disconnect server_2b;
+connection server_1;
+DROP TABLE t1;
+connection server_2;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+set global slave_parallel_mode= @old_parallel_mode;
+SET GLOBAL lock_wait_timeout= @old_timeout;
+SET GLOBAL innodb_lock_wait_timeout= @old_innodb_timeout;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mysql_manager_race_condition.result b/mysql-test/suite/rpl/r/rpl_mysql_manager_race_condition.result
index 1172d8e3..740d1ddf 100644
--- a/mysql-test/suite/rpl/r/rpl_mysql_manager_race_condition.result
+++ b/mysql-test/suite/rpl/r/rpl_mysql_manager_race_condition.result
@@ -17,6 +17,36 @@ include/sync_with_master_gtid.inc
include/rpl_restart_server.inc [server_number=2 parameters: --debug_dbug="+d,delay_start_handle_manager"]
include/start_slave.inc
#
+# MDEV-33799
+# Ensure that when the binary log is used for recovery (as tc log), that
+# the recovery process cannot start the binlog background thread before
+# the mysql handle manager has started.
+connection slave;
+# Add test suppresssions so crash recovery messages don't fail the test
+set session sql_log_bin=0;
+call mtr.add_suppression("mariadbd: Got error '145.*");
+call mtr.add_suppression("Checking table:.*");
+call mtr.add_suppression("mysql.gtid_slave_pos:.*hasn't closed the table properly");
+call mtr.add_suppression("Can't init tc log");
+call mtr.add_suppression("Aborting");
+set session sql_log_bin=1;
+# Create slave-side only table
+create table t2 (a int) engine=innodb;
+# Crash mariadbd when binlogging transaction to corrupt database state
+connection slave1;
+set @@session.debug_dbug="+d,crash_before_writing_xid";
+insert into t2 values (1);
+connection slave;
+connection slave1;
+Got one of the listed errors
+# Restart mariadbd in recovery mode. Note --tc-heuristic-recover
+# forces mysqld to exit with error, so we run mariadbd via CLI
+# MYSQLD_LAST_CMD --debug_dbug="+d,delay_start_handle_manager" --tc-heuristic-recover=COMMIT
+connection server_2;
+connection slave1;
+connection slave;
+include/start_slave.inc
+#
# Cleanup
#
connection master;
@@ -24,4 +54,5 @@ drop table t1;
include/save_master_gtid.inc
connection slave;
include/sync_with_master_gtid.inc
+drop table t2;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_packet.result b/mysql-test/suite/rpl/r/rpl_packet.result
index 4a2a5d70..bb626960 100644
--- a/mysql-test/suite/rpl/r/rpl_packet.result
+++ b/mysql-test/suite/rpl/r/rpl_packet.result
@@ -2,6 +2,8 @@ include/master-slave.inc
[connection master]
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, .*error.* 1153");
call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
+call mtr.add_suppression("Could not write packet:");
+call mtr.add_suppression("Got a packet bigger than 'max_allowed_packet' bytes");
drop database if exists DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
create database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
connection master;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_multi_domain_xa.result b/mysql-test/suite/rpl/r/rpl_parallel_multi_domain_xa.result
new file mode 100644
index 00000000..1993d098
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_multi_domain_xa.result
@@ -0,0 +1,58 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
+call mtr.add_suppression("WSREP: handlerton rollback failed");
+connection master;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+connection slave;
+include/stop_slave.inc
+SET @old_transaction_retries = @@GLOBAL.slave_transaction_retries;
+SET @@global.slave_transaction_retries = 1000;
+SET @old_parallel_threads = @@GLOBAL.slave_parallel_threads;
+SET @old_slave_domain_parallel_threads = @@GLOBAL.slave_domain_parallel_threads;
+SET @@global.slave_parallel_threads = 5;
+SET @@global.slave_domain_parallel_threads = 3;
+SET @old_parallel_mode = @@GLOBAL.slave_parallel_mode;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+connection master;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0);
+include/save_master_gtid.inc
+connection slave;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @@global.slave_parallel_mode ='optimistic';
+connection master;
+include/save_master_gtid.inc
+connection slave;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+connection master;
+include/save_master_gtid.inc
+connection slave;
+SET @@global.slave_parallel_mode ='conservative';
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+include/save_master_gtid.inc
+connection slave;
+SET @@global.slave_parallel_mode = 'optimistic';
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/diff_tables.inc [master:t1, slave:t1]
+connection slave;
+include/stop_slave.inc
+SET @@global.slave_parallel_mode = @old_parallel_mode;
+SET @@global.slave_parallel_threads = @old_parallel_threads;
+SET @@global.slave_domain_parallel_threads = @old_slave_domain_parallel_threads;
+SET @@global.slave_transaction_retries = @old_transaction_retries;
+include/start_slave.inc
+connection master;
+DROP TABLE t1;
+include/save_master_gtid.inc
+connection slave;
+include/sync_with_master_gtid.inc
+connection master;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result b/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result
index eff93951..0b317c46 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result
@@ -626,6 +626,7 @@ include/save_master_gtid.inc
connection server_2;
include/sync_with_master_gtid.inc
connection server_2;
+SET @org_log_warnings=@@GLOBAL.LOG_WARNINGS;
set global log_warnings=2;
BEGIN;
INSERT INTO t1 SET a=1;
@@ -651,7 +652,7 @@ connection server_2;
include/sync_with_master_gtid.inc
connection server_2;
include/stop_slave.inc
-set global log_warnings=default;
+set global log_warnings=@org_log_warnings;
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
include/start_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa.result b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa.result
index 4136f188..90c3e5db 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa.result
@@ -32,7 +32,6 @@ include/diff_tables.inc [master:t0, slave:t0]
include/diff_tables.inc [master:t1, slave:t1]
connection slave;
include/stop_slave.inc
-set global log_warnings=default;
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
include/start_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa_lsu_off.result b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa_lsu_off.result
index 4136f188..90c3e5db 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa_lsu_off.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_xa_lsu_off.result
@@ -32,7 +32,6 @@ include/diff_tables.inc [master:t0, slave:t0]
include/diff_tables.inc [master:t1, slave:t1]
connection slave;
include/stop_slave.inc
-set global log_warnings=default;
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
include/start_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_retry.result b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
index 2cc4044a..4c7effd7 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_retry.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
@@ -339,6 +339,28 @@ connection server_1;
DROP TABLE t1, t2, t3, t4;
DROP function foo;
connection server_2;
+connection server_2;
+include/stop_slave.inc
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=4;
+connection server_1;
+CREATE TABLE t1 (a INT, b VARCHAR(123)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 'asdf');
+UPDATE t1 SET b='zxf1' WHERE a=1;
+UPDATE t1 SET b='\n' WHERE a=1;
+connection server_2;
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,write_row_inject_sleep_before_ha_write_row";
+include/start_slave.inc
+connection server_1;
+connection server_2;
+connection server_1;
+DROP TABLE t1;
+connection server_2;
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
connection server_1;
CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES(100, 100);
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_sbm.result b/mysql-test/suite/rpl/r/rpl_parallel_sbm.result
index 7990a663..75012c93 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_sbm.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_sbm.result
@@ -27,12 +27,19 @@ connection slave;
# delaying a transaction; then when the reciprocal START SLAVE occurs,
# if the event is still to be delayed, SBM should resume accordingly
include/stop_slave.inc
+# Lock t1 on slave to ensure the event can't finish (and thereby update
+# Seconds_Behind_Master) so slow running servers don't accidentally
+# catch up to the master before checking SBM.
+connection server_2;
+LOCK TABLES t1 WRITE;
include/start_slave.inc
connection slave;
-# Waiting for replica to resume the delay for the transaction
+# Waiting for replica to get blocked by the table lock
# Sleeping 1s to increment SBM
# Ensuring Seconds_Behind_Master increases after sleeping..
# ..done
+connection server_2;
+UNLOCK TABLES;
include/sync_with_master_gtid.inc
#
# Pt 2) If the worker threads have not entered an idle state, ensure
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_seq.result b/mysql-test/suite/rpl/r/rpl_parallel_seq.result
index 8f55f52e..02287d54 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_seq.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_seq.result
@@ -127,4 +127,14 @@ CREATE SEQUENCE s4;
DROP SEQUENCE s2,s3,s4;
DROP TABLE ti;
connection slave;
+connection master;
+CREATE SEQUENCE s;
+SELECT NEXTVAL(s);
+NEXTVAL(s)
+1
+flush binary logs;
+DROP SEQUENCE s;
+DROP SEQUENCE s;
+connection slave;
+connection master;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result b/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
index ba131ea0..6b75dbf6 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
@@ -206,10 +206,12 @@ RETURN x;
END
||
SET sql_log_bin=1;
+include/stop_slave_io.inc
connection server_1;
INSERT INTO t3 VALUES (49,0);
connection server_2;
-START SLAVE SQL_THREAD;
+CHANGE MASTER TO master_use_gtid=no;
+include/start_slave.inc
SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
a b
41 41
@@ -239,10 +241,6 @@ SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
include/start_slave.inc
*** 3. Same as (2), but not using gtid mode ***
-connection server_2;
-include/stop_slave.inc
-CHANGE MASTER TO master_use_gtid=no;
-include/start_slave.inc
connection server_1;
connection con_temp3;
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result b/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
index 0c810d2a..b0a4fa59 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
@@ -37,7 +37,9 @@ connection con_temp1;
BEGIN;
INSERT INTO t2 VALUES (21);
connection server_2;
-START SLAVE;
+START SLAVE IO_THREAD;
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
+START SLAVE SQL_THREAD;
connection con_temp2;
SET @old_dbug= @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_temptable.result b/mysql-test/suite/rpl/r/rpl_parallel_temptable.result
index e9bff03b..0f7af253 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_temptable.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_temptable.result
@@ -202,6 +202,24 @@ a b
include/stop_slave.inc
SET GLOBAL slave_parallel_mode=@old_mode;
include/start_slave.inc
+*** MDEV33426: Memory allocation accounting incorrect for replicated temptable
+connection server_1;
+CREATE TEMPORARY TABLE t5 (a int) ENGINE=Aria;
+CREATE TEMPORARY TABLE t6 (a int) ENGINE=Heap;
+INSERT INTO t5 VALUES (1);
+INSERT INTO t6 VALUES (2);
+connection server_2;
+include/stop_slave.inc
+connection server_1;
+INSERT INTO t1 SELECT a+40, 5 FROM t5;
+INSERT INTO t1 SELECT a+40, 6 FROM t6;
+DROP TABLE t5, t6;
+connection server_2;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a>=40 ORDER BY a;
+a b
+41 5
+42 6
connection server_2;
include/stop_slave.inc
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result b/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result
index 27cb29d3..4ace84ff 100644
--- a/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result
@@ -87,8 +87,6 @@ include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be
change master to
master_user = 'root',
master_use_gtid= CURRENT_POS;
-Warnings:
-Warning #### 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be same.]
# 3) Test for Auto_position= SLAVE_POS
diff --git a/mysql-test/suite/rpl/r/rpl_rewrite_db_sys_vars.result b/mysql-test/suite/rpl/r/rpl_rewrite_db_sys_vars.result
index 5720f647..1734b200 100644
--- a/mysql-test/suite/rpl/r/rpl_rewrite_db_sys_vars.result
+++ b/mysql-test/suite/rpl/r/rpl_rewrite_db_sys_vars.result
@@ -12,11 +12,9 @@ select @@session.server_id;
create database replica_db1;
create database y;
create database test_replica;
-SELECT @@GLOBAL.replicate_rewrite_db;
-@@GLOBAL.replicate_rewrite_db
-primary_db1->replica_db1,x->y
-# Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
-# ...success
+SELECT @@GLOBAL.replicate_rewrite_db, 'primary_db1->replica_db1,x->y' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
+@@GLOBAL.replicate_rewrite_db Replicate_Rewrite_DB from SHOW SLAVE STATUS
+primary_db1->replica_db1,x->y primary_db1->replica_db1,x->y
# Create DBs and tables on primary
connection master;
create database primary_db1;
@@ -60,15 +58,13 @@ SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
primary_db1->replica_db1,x->y
SET @@GLOBAL.replicate_rewrite_db="test_master->test_replica";
-SELECT @@GLOBAL.replicate_rewrite_db;
-@@GLOBAL.replicate_rewrite_db
-test_master->test_replica
SHOW DATABASES like 'test_replica';
Database (test_replica)
test_replica
include/start_slave.inc
-# Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
-# ...success
+SELECT @@GLOBAL.replicate_rewrite_db, 'test_master->test_replica' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
+@@GLOBAL.replicate_rewrite_db Replicate_Rewrite_DB from SHOW SLAVE STATUS
+test_master->test_replica test_master->test_replica
# Create DB and tables on primary
connection master;
create database test_master;
@@ -94,6 +90,8 @@ t
3
include/diff_tables.inc [master:test_master.my_table,slave:test_replica.my_table]
# Update of values on primary for DB not set in replication_rewrite_db
+include/stop_slave.inc
+include/reset_slave.inc
connection master;
use x;
insert into my_table values (314);
@@ -104,8 +102,6 @@ t
314
include/save_master_gtid.inc
connection slave;
-include/stop_slave.inc
-include/reset_slave.inc
include/start_slave.inc
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
diff --git a/mysql-test/suite/rpl/r/rpl_row_find_row_debug.result b/mysql-test/suite/rpl/r/rpl_row_find_row_debug.result
index f1a0059a..c2bb256a 100644
--- a/mysql-test/suite/rpl/r/rpl_row_find_row_debug.result
+++ b/mysql-test/suite/rpl/r/rpl_row_find_row_debug.result
@@ -20,6 +20,5 @@ FOUND 1 /The slave is applying a ROW event on behalf of an UPDATE statement on t
FOUND 1 /The slave is applying a ROW event on behalf of a DELETE statement on table t1 and is currently taking a considerable amount/ in mysqld.2.err
include/stop_slave.inc
SET @@GLOBAL.debug_dbug = @saved_dbug;
-SET GLOBAL log_warnings = 2;
include/start_slave.inc
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_cond_var_per_thd.result b/mysql-test/suite/rpl/r/rpl_semi_sync_cond_var_per_thd.result
new file mode 100644
index 00000000..08f60144
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_cond_var_per_thd.result
@@ -0,0 +1,32 @@
+include/master-slave.inc
+[connection master]
+connection master;
+call mtr.add_suppression("Got an error reading communication packets");
+set @save_bgc_count= @@global.binlog_commit_wait_count;
+set @save_bgc_usec= @@global.binlog_commit_wait_usec;
+set @save_debug_dbug= @@global.debug_dbug;
+set @@global.binlog_commit_wait_count=3;
+set @@global.binlog_commit_wait_usec=10000000;
+set @@global.debug_dbug="+d,testing_cond_var_per_thd";
+# Ensure semi-sync is on
+connection slave;
+connection master;
+# Create three transactions to binlog group commit together
+connection master;
+create table t1 (a int);
+connection server_1;
+create table t2 (a int);
+connection default;
+create table t3 (a int);
+connection master;
+connection server_1;
+connection default;
+include/assert_grep.inc [Check that there is no 'Thread awaiting semi-sync ACK was awoken before its ACK' warning in error log.]
+#
+# Cleanup
+connection master;
+set @@global.binlog_commit_wait_count=@save_bgc_count;
+set @@global.binlog_commit_wait_usec=@save_bgc_usec;
+set @@global.debug_dbug=@save_debug_dbug;
+drop table t1, t2, t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result b/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
index 1c94c239..49fdb485 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
@@ -44,13 +44,19 @@ SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
connection server_2;
include/wait_for_slave_param.inc [Slave_SQL_Running_State]
include/stop_slave.inc
-include/assert.inc [Table t1 should have 2 rows.]
+select count(*) 'on slave must be 2' from t1;
+on slave must be 2
+2
SELECT @@GLOBAL.gtid_current_pos;
@@GLOBAL.gtid_current_pos
0-1-4
# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
connection server_1;
-include/assert.inc [Table t1 should have 1 rows.]
+# Ensuring variable rpl_semi_sync_slave_enabled is ON..
+# Ensuring status rpl_semi_sync_slave_status is OFF..
+select count(*) 'on master must be 1' from t1;
+on master must be 1
+1
FOUND 1 /truncated binlog file:.*master.*000001/ in mysqld.1.err
disconnect conn_client;
connection server_2;
@@ -77,9 +83,9 @@ SHOW VARIABLES LIKE 'gtid_slave_pos';
Variable_name Value
gtid_slave_pos 0-1-4
connection server_1;
-SELECT COUNT(*) = 3 as 'true' FROM t1;
-true
-1
+SELECT COUNT(*) 'must be 3' FROM t1;
+must be 3
+3
# ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
Variable_name Value
@@ -111,24 +117,32 @@ connection server_2;
#=================================================================
connect conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync WAIT_FOR con1_go1";
SET STATEMENT server_id=1 FOR INSERT INTO t1 VALUES (4, REPEAT("x", 4100));
connect conn_client_2,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
-SET GLOBAL debug_dbug="d,Notify_binlog_EOF";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL con1_go";
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con2_ready";
INSERT INTO t1 VALUES (5, REPEAT("x", 4100));
connection server_2;
-SET DEBUG_SYNC= "now WAIT_FOR eof_reached";
+SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
# Kill the server
connection server_1;
include/wait_for_slave_param.inc [Slave_SQL_Running_State]
include/stop_slave.inc
-include/assert.inc [Table t1 should have 5 rows.]
+select count(*) 'on slave must be 5' from t1;
+on slave must be 5
+5
SELECT @@GLOBAL.gtid_current_pos;
@@GLOBAL.gtid_current_pos
0-2-7
# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
connection server_2;
-include/assert.inc [Table t1 should have 3 rows.]
+# Ensuring variable rpl_semi_sync_slave_enabled is ON..
+# Ensuring status rpl_semi_sync_slave_status is OFF..
+select count(*) 'on master must be 3' from t1;
+on master must be 3
+3
FOUND 1 /truncated binlog file:.*slave.*000002.* to remove transactions starting from GTID 0-1-6/ in mysqld.2.err
disconnect conn_client;
connection server_1;
@@ -155,9 +169,9 @@ SHOW VARIABLES LIKE 'gtid_slave_pos';
Variable_name Value
gtid_slave_pos 0-2-7
connection server_2;
-SELECT COUNT(*) = 6 as 'true' FROM t1;
-true
-1
+SELECT COUNT(*) 'must be 6 as' FROM t1;
+must be 6 as
+6
# ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
Variable_name Value
@@ -201,13 +215,19 @@ SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
connection server_2;
include/wait_for_slave_param.inc [Slave_SQL_Running_State]
include/stop_slave.inc
-include/assert.inc [Table t1 should have 7 rows.]
+select count(*) 'on slave must be 7' from t1;
+on slave must be 7
+7
SELECT @@GLOBAL.gtid_current_pos;
@@GLOBAL.gtid_current_pos
0-1-9
# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
connection server_1;
-include/assert.inc [Table t1 should have 6 rows.]
+# Ensuring variable rpl_semi_sync_slave_enabled is ON..
+# Ensuring status rpl_semi_sync_slave_status is OFF..
+select count(*) 'on master must be 6' from t1;
+on master must be 6
+6
FOUND 1 /truncated binlog file:.*master.*000002.* to remove transactions starting from GTID 0-1-9/ in mysqld.1.err
disconnect conn_client;
connection server_2;
@@ -236,9 +256,9 @@ Variable_name Value
gtid_slave_pos 0-1-9
connection server_1;
include/sync_with_master_gtid.inc
-SELECT COUNT(*) = 8 as 'true' FROM t1;
-true
-1
+SELECT COUNT(*) 'must be 8' FROM t1;
+must be 8
+8
# ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
Variable_name Value
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_master_shutdown.result b/mysql-test/suite/rpl/r/rpl_semi_sync_master_shutdown.result
index 6124ba01..8803b4c3 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_master_shutdown.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_master_shutdown.result
@@ -4,7 +4,7 @@ connection master;
SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
connection slave;
include/stop_slave.inc
-SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
connection master;
CREATE TABLE t1 (a INT);
@@ -21,7 +21,6 @@ connection slave;
include/wait_for_slave_sql_to_start.inc
include/wait_for_slave_io_to_start.inc
connection master;
-SET @@GLOBAL.debug_dbug="";
SET @@GLOBAL. rpl_semi_sync_master_enabled = 0;
connection master;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_await_ack.result b/mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_await_ack.result
index 394a7aca..3048b6b5 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_await_ack.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_await_ack.result
@@ -15,13 +15,17 @@ call mtr.add_suppression("reply failed");
call mtr.add_suppression("Replication event checksum verification");
call mtr.add_suppression("Relay log write failure");
call mtr.add_suppression("Failed to kill the active semi-sync connection");
+set @sav_enabled_server_2= @@GLOBAL.rpl_semi_sync_slave_enabled;
+set @sav_server_2_dbug= @@GLOBAL.debug_dbug;
connection server_3;
call mtr.add_suppression("reply failed");
call mtr.add_suppression("Replication event checksum verification");
call mtr.add_suppression("Relay log write failure");
call mtr.add_suppression("Failed to kill the active semi-sync connection");
+set @sav_enabled_server_3= @@GLOBAL.rpl_semi_sync_slave_enabled;
+set @sav_server_3_dbug= @@GLOBAL.debug_dbug;
connection server_1;
-CREATE TABLE t1 (a int);
+CREATE TABLE t1 (a int) engine=innodb;
connection server_2;
connection server_3;
connect server_1_con2, localhost, root,,;
@@ -30,8 +34,8 @@ connect server_1_con2, localhost, root,,;
#############################
#
# Test Case 1) If both replicas simulate a delay that is within the
-# allowed timeout, the primary should delay killing the suspended thread
-# until an ACK is received (Rpl_semi_sync_master_yes_tx should be 1).
+# allowed timeout, the primary should delay killing the Ack_thread
+# until an ACK is received.
#
connection server_1;
#--
@@ -40,15 +44,15 @@ connection server_1;
#-- Enable semi-sync on slaves
let slave_last= 3
connection server_2;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status ON
connection server_3;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
@@ -67,35 +71,22 @@ show status like 'Rpl_semi_sync_master_clients';
Variable_name Value
Rpl_semi_sync_master_clients 2
#-- Prepare servers to simulate delay or error
-connection server_1;
-SET @@GLOBAL.debug_dbug= "";
connection server_2;
SET @@GLOBAL.debug_dbug= "+d,simulate_delay_semisync_slave_reply";
connection server_3;
SET @@GLOBAL.debug_dbug= "+d,simulate_delay_semisync_slave_reply";
#--
#-- Test begins
+connection server_1_con2;
connection server_1;
#-- Begin semi-sync transaction
INSERT INTO t1 VALUES (1);
connection server_1_con2;
#-- Wait until master recognizes a connection is awaiting semi-sync ACK
-show status like 'Rpl_semi_sync_master_wait_sessions';
-Variable_name Value
-Rpl_semi_sync_master_wait_sessions 1
-#-- Give enough time after timeout/ack received to query yes_tx/no_tx
-SET @@GLOBAL.debug_dbug= "+d,delay_shutdown_phase_2_after_semisync_wait";
#-- Begin master shutdown
SHUTDOWN WAIT FOR ALL SLAVES;
connection server_1;
-#-- Ensure either ACK was received (yes_tx=1) or timeout (no_tx=1)
-show status like 'Rpl_semi_sync_master_yes_tx';
-Variable_name Value
-Rpl_semi_sync_master_yes_tx 1
-show status like 'Rpl_semi_sync_master_no_tx';
-Variable_name Value
-Rpl_semi_sync_master_no_tx 0
-connection server_1_con2;
+ERROR HY000: Lost connection to server during query
# Check logs to ensure shutdown was delayed
FOUND 1 /Delaying shutdown to await semi-sync ACK/ in mysqld.1.err
# Validate slave data is in correct state
@@ -111,22 +102,19 @@ count(*)=1
#-- Re-synchronize slaves with master and disable semi-sync
#-- Stop slaves
connection server_2;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_2;
connection server_3;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_3;
#-- Bring the master back up
connection server_1_con2;
connection default;
connection server_1;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_master_enabled = 0;
-show status like 'Rpl_semi_sync_master_status';
-Variable_name Value
-Rpl_semi_sync_master_status OFF
TRUNCATE TABLE t1;
#-- Bring slaves back up
connection server_2;
@@ -147,8 +135,8 @@ COUNT(*)=0
1
#
# Test Case 2) If both replicas simulate an error before sending an ACK,
-# the primary should delay killing the suspended thread until the
-# timeout is reached (Rpl_semi_sync_master_no_tx should be 1).
+# the primary should delay killing the Ack_thread until the
+# timeout is reached.
#
connection server_1;
#--
@@ -157,15 +145,15 @@ connection server_1;
#-- Enable semi-sync on slaves
let slave_last= 3
connection server_2;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status ON
connection server_3;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
@@ -184,35 +172,22 @@ show status like 'Rpl_semi_sync_master_clients';
Variable_name Value
Rpl_semi_sync_master_clients 2
#-- Prepare servers to simulate delay or error
-connection server_1;
-SET @@GLOBAL.debug_dbug= "+d,mysqld_delay_kill_threads_phase_1";
connection server_2;
-SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event";
+SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141";
connection server_3;
-SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event";
+SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141";
#--
#-- Test begins
+connection server_1_con2;
connection server_1;
#-- Begin semi-sync transaction
INSERT INTO t1 VALUES (1);
connection server_1_con2;
#-- Wait until master recognizes a connection is awaiting semi-sync ACK
-show status like 'Rpl_semi_sync_master_wait_sessions';
-Variable_name Value
-Rpl_semi_sync_master_wait_sessions 1
-#-- Give enough time after timeout/ack received to query yes_tx/no_tx
-SET @@GLOBAL.debug_dbug= "+d,delay_shutdown_phase_2_after_semisync_wait";
#-- Begin master shutdown
SHUTDOWN WAIT FOR ALL SLAVES;
connection server_1;
-#-- Ensure either ACK was received (yes_tx=1) or timeout (no_tx=1)
-show status like 'Rpl_semi_sync_master_yes_tx';
-Variable_name Value
-Rpl_semi_sync_master_yes_tx 0
-show status like 'Rpl_semi_sync_master_no_tx';
-Variable_name Value
-Rpl_semi_sync_master_no_tx 1
-connection server_1_con2;
+ERROR HY000: Lost connection to server during query
# Check logs to ensure shutdown was delayed
FOUND 2 /Delaying shutdown to await semi-sync ACK/ in mysqld.1.err
# Validate slave data is in correct state
@@ -226,24 +201,33 @@ count(*)=0
1
#
#-- Re-synchronize slaves with master and disable semi-sync
+#-- FIXME: workaround for MDEV-28141, preventing errored replicas from
+# killing their semi-sync connections
+connection server_2;
+set debug_sync= "now wait_for at_semisync_kill_connection";
+set debug_sync= "now signal continue_semisync_kill_connection";
+# Wait for debug_sync signal to have been received before issuing RESET
+set debug_sync= "reset";
+connection server_3;
+set debug_sync= "now wait_for at_semisync_kill_connection";
+set debug_sync= "now signal continue_semisync_kill_connection";
+# Wait for debug_sync signal to have been received before issuing RESET
+set debug_sync= "reset";
#-- Stop slaves
connection server_2;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_2;
connection server_3;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_3;
#-- Bring the master back up
connection server_1_con2;
connection default;
connection server_1;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_master_enabled = 0;
-show status like 'Rpl_semi_sync_master_status';
-Variable_name Value
-Rpl_semi_sync_master_status OFF
TRUNCATE TABLE t1;
#-- Bring slaves back up
connection server_2;
@@ -265,8 +249,8 @@ COUNT(*)=0
#
# Test Case 3) If one replica simulates a delay within the allowed
# timeout and the other simulates an error before sending an ACK, the
-# primary should delay killing the suspended thread until it receives an
-# ACK from the delayed slave (Rpl_semi_sync_master_yes_tx should be 1).
+# primary should delay killing the Ack_thread until it receives an
+# ACK from the delayed slave.
#
connection server_1;
#--
@@ -275,15 +259,15 @@ connection server_1;
#-- Enable semi-sync on slaves
let slave_last= 3
connection server_2;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status ON
connection server_3;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
@@ -302,35 +286,22 @@ show status like 'Rpl_semi_sync_master_clients';
Variable_name Value
Rpl_semi_sync_master_clients 2
#-- Prepare servers to simulate delay or error
-connection server_1;
-SET @@GLOBAL.debug_dbug= "+d,mysqld_delay_kill_threads_phase_1";
connection server_2;
-SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event";
+SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141";
connection server_3;
SET @@GLOBAL.debug_dbug= "+d,simulate_delay_semisync_slave_reply";
#--
#-- Test begins
+connection server_1_con2;
connection server_1;
#-- Begin semi-sync transaction
INSERT INTO t1 VALUES (1);
connection server_1_con2;
#-- Wait until master recognizes a connection is awaiting semi-sync ACK
-show status like 'Rpl_semi_sync_master_wait_sessions';
-Variable_name Value
-Rpl_semi_sync_master_wait_sessions 1
-#-- Give enough time after timeout/ack received to query yes_tx/no_tx
-SET @@GLOBAL.debug_dbug= "+d,delay_shutdown_phase_2_after_semisync_wait";
#-- Begin master shutdown
SHUTDOWN WAIT FOR ALL SLAVES;
connection server_1;
-#-- Ensure either ACK was received (yes_tx=1) or timeout (no_tx=1)
-show status like 'Rpl_semi_sync_master_yes_tx';
-Variable_name Value
-Rpl_semi_sync_master_yes_tx 1
-show status like 'Rpl_semi_sync_master_no_tx';
-Variable_name Value
-Rpl_semi_sync_master_no_tx 0
-connection server_1_con2;
+ERROR HY000: Lost connection to server during query
# Check logs to ensure shutdown was delayed
FOUND 3 /Delaying shutdown to await semi-sync ACK/ in mysqld.1.err
# Validate slave data is in correct state
@@ -344,24 +315,28 @@ count(*)=1
1
#
#-- Re-synchronize slaves with master and disable semi-sync
+#-- FIXME: workaround for MDEV-28141, preventing errored replicas from
+# killing their semi-sync connections
+connection server_2;
+set debug_sync= "now wait_for at_semisync_kill_connection";
+set debug_sync= "now signal continue_semisync_kill_connection";
+# Wait for debug_sync signal to have been received before issuing RESET
+set debug_sync= "reset";
#-- Stop slaves
connection server_2;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_2;
connection server_3;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_3;
#-- Bring the master back up
connection server_1_con2;
connection default;
connection server_1;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_master_enabled = 0;
-show status like 'Rpl_semi_sync_master_status';
-Variable_name Value
-Rpl_semi_sync_master_status OFF
TRUNCATE TABLE t1;
#-- Bring slaves back up
connection server_2;
@@ -389,8 +364,7 @@ COUNT(*)=0
# active semi-sync connection in-tact. The slave should notice this, and
# not issue a `QUIT` command to the primary, which would otherwise be
# sent to kill an active connection. This test case validates that the
-# slave does not send a `QUIT` in this case (Rpl_semi_sync_master_yes_tx
-# should be 1 because server_3 will send the ACK within a valid timeout).
+# slave does not send a `QUIT` in this case.
#
connection server_1;
#--
@@ -399,15 +373,15 @@ connection server_1;
#-- Enable semi-sync on slaves
let slave_last= 3
connection server_2;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status ON
connection server_3;
-set global rpl_semi_sync_slave_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
show status like 'Rpl_semi_sync_slave_status';
Variable_name Value
@@ -426,35 +400,22 @@ show status like 'Rpl_semi_sync_master_clients';
Variable_name Value
Rpl_semi_sync_master_clients 2
#-- Prepare servers to simulate delay or error
-connection server_1;
-SET @@GLOBAL.debug_dbug= "+d,mysqld_delay_kill_threads_phase_1";
connection server_2;
-SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event,slave_delay_killing_semisync_connection";
+SET @@GLOBAL.debug_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141";
connection server_3;
SET @@GLOBAL.debug_dbug= "+d,simulate_delay_semisync_slave_reply";
#--
#-- Test begins
+connection server_1_con2;
connection server_1;
#-- Begin semi-sync transaction
INSERT INTO t1 VALUES (1);
connection server_1_con2;
#-- Wait until master recognizes a connection is awaiting semi-sync ACK
-show status like 'Rpl_semi_sync_master_wait_sessions';
-Variable_name Value
-Rpl_semi_sync_master_wait_sessions 1
-#-- Give enough time after timeout/ack received to query yes_tx/no_tx
-SET @@GLOBAL.debug_dbug= "+d,delay_shutdown_phase_2_after_semisync_wait";
#-- Begin master shutdown
SHUTDOWN WAIT FOR ALL SLAVES;
connection server_1;
-#-- Ensure either ACK was received (yes_tx=1) or timeout (no_tx=1)
-show status like 'Rpl_semi_sync_master_yes_tx';
-Variable_name Value
-Rpl_semi_sync_master_yes_tx 1
-show status like 'Rpl_semi_sync_master_no_tx';
-Variable_name Value
-Rpl_semi_sync_master_no_tx 0
-connection server_1_con2;
+ERROR HY000: Lost connection to server during query
# Check logs to ensure shutdown was delayed
FOUND 4 /Delaying shutdown to await semi-sync ACK/ in mysqld.1.err
# Validate slave data is in correct state
@@ -468,24 +429,28 @@ count(*)=1
1
#
#-- Re-synchronize slaves with master and disable semi-sync
+#-- FIXME: workaround for MDEV-28141, preventing errored replicas from
+# killing their semi-sync connections
+connection server_2;
+set debug_sync= "now wait_for at_semisync_kill_connection";
+set debug_sync= "now signal continue_semisync_kill_connection";
+# Wait for debug_sync signal to have been received before issuing RESET
+set debug_sync= "reset";
#-- Stop slaves
connection server_2;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_2;
connection server_3;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0;
-include/stop_slave.inc
+include/stop_slave_io.inc
+include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_3;
#-- Bring the master back up
connection server_1_con2;
connection default;
connection server_1;
-SET @@GLOBAL.debug_dbug= "";
-SET @@GLOBAL.rpl_semi_sync_master_enabled = 0;
-show status like 'Rpl_semi_sync_master_status';
-Variable_name Value
-Rpl_semi_sync_master_status OFF
TRUNCATE TABLE t1;
#-- Bring slaves back up
connection server_2;
@@ -504,14 +469,62 @@ Rpl_semi_sync_slave_status OFF
SELECT COUNT(*)=0 from t1;
COUNT(*)=0
1
+#
+# Test Case 5) If a waiting-for-ACK user thread is killed (disconnected)
+# during SHUTDOWN WAIT FOR ALL SLAVES, ensure the primary will still
+# await the ACK from the replica before killing the Ack_receiver thread
+#
+connection server_1;
+insert into t1 values (1);
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL rpl_semi_sync_slave_enabled= 1;
+include/start_slave.inc
+connection server_1;
+SET GLOBAL rpl_semi_sync_master_enabled= 1;
+SET GLOBAL rpl_semi_sync_master_timeout= 2000;
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+connection server_2;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,simulate_delay_semisync_slave_reply";
+connect con1, localhost, root,,;
+connect con2, localhost, root,,;
+connection con1;
+insert into t1 values (2);
+connection server_1;
+# Wait for thd to begin semi-sync wait..
+# ..done
+disconnect con1;
+connection default;
+connection con2;
+SHUTDOWN WAIT FOR ALL SLAVES;
+# Ensure the primary waited for the ACK of the killed thread
+FOUND 5 /Delaying shutdown to await semi-sync ACK/ in mysqld.1.err
+connection default;
+connection server_1;
+connection server_2;
+include/stop_slave.inc
+connection server_3;
+include/stop_slave.inc
+connection default;
+connection server_1;
#############################
# Cleanup
#############################
connection server_2;
-include/stop_slave.inc
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = @sav_enabled_server_2;
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
include/start_slave.inc
connection server_3;
-include/stop_slave.inc
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = @sav_enabled_server_3;
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
include/start_slave.inc
connection server_1;
drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_slave_enabled_consistent.result b/mysql-test/suite/rpl/r/rpl_semi_sync_slave_enabled_consistent.result
index 99c31249..4195acb9 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_slave_enabled_consistent.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_slave_enabled_consistent.result
@@ -2,6 +2,9 @@ include/master-slave.inc
[connection master]
call mtr.add_suppression("Replication event checksum verification failed");
call mtr.add_suppression("could not queue event from master");
+call mtr.add_suppression("Semisync ack receiver.*error reading communication packets");
+call mtr.add_suppression("Semisync ack receiver got hangup");
+connection slave;
#
# Set up a semisync connection
connection master;
diff --git a/mysql-test/suite/rpl/r/rpl_show_slave_status.result b/mysql-test/suite/rpl/r/rpl_show_slave_status.result
new file mode 100644
index 00000000..e32b2f55
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_show_slave_status.result
@@ -0,0 +1,75 @@
+include/master-slave.inc
+[connection master]
+*
+* The purpose of this test is to prevent incorrect additions to SHOW
+* SLAVE STATUS, which has happened several times in the past.
+*
+* We must never, _ever_, add extra rows to this output of SHOW SLAVE
+* STATUS, except at the very end, as this breaks backwards compatibility
+* with applications or scripts that parse the output. This also means that
+* we cannot add _any_ new rows in a GA version if a different row was
+* already added in a later MariaDB version, as this would make it impossible
+* to merge the change up while preserving the order of rows.
+*
+connection slave;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host #
+Master_User #
+Master_Port #
+Connect_Retry #
+Master_Log_File #
+Read_Master_Log_Pos #
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File #
+Slave_IO_Running #
+Slave_SQL_Running #
+Replicate_Do_DB #
+Replicate_Ignore_DB #
+Replicate_Do_Table #
+Replicate_Ignore_Table #
+Replicate_Wild_Do_Table #
+Replicate_Wild_Ignore_Table #
+Last_Errno #
+Last_Error #
+Skip_Counter #
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition #
+Until_Log_File #
+Until_Log_Pos #
+Master_SSL_Allowed #
+Master_SSL_CA_File #
+Master_SSL_CA_Path #
+Master_SSL_Cert #
+Master_SSL_Cipher #
+Master_SSL_Key #
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert #
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno #
+Last_SQL_Error #
+Replicate_Ignore_Server_Ids #
+Master_Server_Id #
+Master_SSL_Crl #
+Master_SSL_Crlpath #
+Using_Gtid #
+Gtid_IO_Pos #
+Replicate_Do_Domain_Ids #
+Replicate_Ignore_Domain_Ids #
+Parallel_Mode #
+SQL_Delay #
+SQL_Remaining_Delay #
+Slave_SQL_Running_State #
+Slave_DDL_Groups #
+Slave_Non_Transactional_Groups #
+Slave_Transactional_Groups #
+Replicate_Rewrite_DB #
+*
+* When modifying this test after adding a column to SHOW SLAVE STATUS,
+* _only_ additions at the end are allowed, the column number of existing
+* columns must _not_ change!
+*
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_shutdown_sighup.result b/mysql-test/suite/rpl/r/rpl_shutdown_sighup.result
new file mode 100644
index 00000000..01b35f1d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_shutdown_sighup.result
@@ -0,0 +1,50 @@
+include/master-slave.inc
+[connection master]
+connection slave;
+set statement sql_log_bin=0 for call mtr.add_suppression("Signal handler thread did not exit in a timely manner");
+#
+# Main test
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+include/save_master_gtid.inc
+connection slave;
+include/sync_with_master_gtid.inc
+set @@global.debug_dbug= "+d,hold_sighup_log_refresh";
+# Waiting for sighup to reach reload_acl_and_cache..
+set debug_sync="now wait_for in_reload_acl_and_cache";
+# Signalling signal handler to proceed to sleep before REFRESH_HOSTS
+set debug_sync="now signal refresh_logs";
+# Starting shutdown (note this will take 3+ seconds due to DBUG my_sleep in reload_acl_and_cache)
+shutdown;
+connection server_2;
+connection slave;
+include/assert_grep.inc [Ensure Mariadbd did not segfault when shutting down]
+connection master;
+connection slave;
+#
+# Error testcase to ensure an error message is shown if the signal
+# takes longer than the timeout while processing the SIGHUP
+connection slave;
+set @@global.debug_dbug= "+d,force_sighup_processing_timeout";
+set @@global.debug_dbug= "+d,hold_sighup_log_refresh";
+connection master;
+insert into t1 values (1);
+include/save_master_gtid.inc
+connection slave;
+include/sync_with_master_gtid.inc
+# Waiting for sighup to reach reload_acl_and_cache..
+set debug_sync="now wait_for in_reload_acl_and_cache";
+# Signalling signal handler to proceed to sleep before REFRESH_HOSTS
+set debug_sync="now signal refresh_logs";
+# Starting shutdown (note this will take 3+ seconds due to DBUG my_sleep in reload_acl_and_cache)
+shutdown;
+connection server_2;
+connection slave;
+include/assert_grep.inc [Ensure warning is issued that signal handler thread is still processing]
+#
+# Cleanup
+connection master;
+drop table t1;
+include/rpl_end.inc
+# End of rpl_shutdown_sighup.test
diff --git a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
index eb6324ff..03fc8a78 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result
@@ -122,6 +122,31 @@ connection slave;
# Slave_skipped_errros = 5
**** We cannot execute a select as there are differences in the
**** behavior between STMT and RBR.
+****
+**** Ensure transactions which are skipped due to encountering a
+**** non-deadlock error which is present in --slave-skip-errors result
+**** in partially committed transactions
+connection master;
+CREATE TABLE t3 (a INT UNIQUE) ENGINE=InnoDB;
+connection slave;
+connection slave;
+INSERT INTO t3 VALUES (3);
+connection master;
+BEGIN;
+INSERT INTO t3 VALUES (1);
+INSERT INTO t3 VALUES (2);
+INSERT INTO t3 VALUES (3);
+INSERT INTO t3 VALUES (4);
+COMMIT;
+connection slave;
+**** Master and slave tables should have the same data, due to the
+**** partially replicated transaction's data overlapping with the data
+**** that pre-existed on the slave. That is, despite the transaction
+**** consisting of 4 statements, the errored statement should be ignored
+**** and the other 3 should commit successfully.
+include/diff_tables.inc [master:t3,slave:t3]
+connection master;
+DROP TABLE t3;
==== Clean Up ====
connection master;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_start_alter_options.result b/mysql-test/suite/rpl/r/rpl_start_alter_options.result
index 4c6135aa..c150c18a 100644
--- a/mysql-test/suite/rpl/r/rpl_start_alter_options.result
+++ b/mysql-test/suite/rpl/r/rpl_start_alter_options.result
@@ -3,8 +3,6 @@ include/master-slave.inc
connection slave;
stop slave;
change master to master_use_gtid= current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
SET GLOBAL slave_parallel_threads=4;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;
@@ -96,8 +94,6 @@ include/start_slave.inc
connection slave;
stop slave;
change master to master_use_gtid= current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
SET GLOBAL slave_parallel_threads=4;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;
@@ -189,8 +185,6 @@ include/start_slave.inc
connection slave;
stop slave;
change master to master_use_gtid= current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
SET GLOBAL slave_parallel_threads=4;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;
@@ -321,8 +315,6 @@ include/start_slave.inc
connection slave;
stop slave;
change master to master_use_gtid= current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
SET GLOBAL slave_parallel_threads=4;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;
@@ -377,8 +369,6 @@ connection master;
alter table t1 add column f varchar(100) after b,add column g varchar(100) first ,add column h char, force , algorithm=instant;
alter table t1 add index if not exists index_1(f), force , algorithm=instant;
alter table t1 disable keys, force , algorithm=copy;
-Warnings:
-Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
alter table t1 enable keys, force , algorithm=copy;
Warnings:
Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
@@ -414,8 +404,6 @@ include/start_slave.inc
connection slave;
stop slave;
change master to master_use_gtid= current_pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
SET GLOBAL slave_parallel_threads=4;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;
@@ -470,8 +458,6 @@ connection master;
alter table t1 add column f varchar(100) after b,add column g varchar(100) first ,add column h char, force , algorithm=nocopy;
alter table t1 add index if not exists index_1(f), force , algorithm=nocopy;
alter table t1 disable keys, force , algorithm=copy;
-Warnings:
-Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
alter table t1 enable keys, force , algorithm=copy;
Warnings:
Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
diff --git a/mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result b/mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result
new file mode 100644
index 00000000..9819aafa
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result
@@ -0,0 +1,64 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
+*** Provoke a deadlock on the slave, check that transaction retry succeeds. ***
+connection master;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+INSERT INTO t1(a) VALUES (1), (2), (3), (4), (5);
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 NULL
+2 NULL
+3 NULL
+4 NULL
+5 NULL
+SET sql_log_bin=0;
+ALTER TABLE t2 ENGINE=MyISAM;
+SET sql_log_bin=1;
+connect con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
+connection con_temp1;
+BEGIN;
+UPDATE t1 SET b=2 WHERE a=4;
+INSERT INTO t2 VALUES (2);
+DELETE FROM t2 WHERE a=2;
+connection master;
+BEGIN;
+UPDATE t1 SET b=1 WHERE a=2;
+INSERT INTO t2 VALUES (1);
+UPDATE t1 SET b=1 WHERE a=4;
+COMMIT;
+connection slave;
+connection con_temp1;
+UPDATE t1 SET b=2 WHERE a=2;
+SELECT * FROM t1 WHERE a<10 ORDER BY a;
+a b
+1 NULL
+2 2
+3 NULL
+4 2
+5 NULL
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+connection slave;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 NULL
+2 NULL
+3 NULL
+4 NULL
+5 NULL
+* There will be one row in t2 because the ignored deadlock does not retry.
+SELECT * FROM t2 ORDER BY a;
+a
+1
+retries
+0
+Last_SQL_Errno = '0'
+Last_SQL_Error = ''
+connection master;
+DROP TABLE t1;
+DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_using_gtid_default.result b/mysql-test/suite/rpl/r/rpl_using_gtid_default.result
index 3bdc9d47..24a316de 100644
--- a/mysql-test/suite/rpl/r/rpl_using_gtid_default.result
+++ b/mysql-test/suite/rpl/r/rpl_using_gtid_default.result
@@ -58,8 +58,6 @@ include/start_slave.inc
# to its default of Slave_Pos after RESET SLAVE.
include/stop_slave.inc
CHANGE MASTER TO MASTER_USE_GTID=Current_Pos;
-Warnings:
-Warning 1681 'master_use_gtid=current_pos' is deprecated and will be removed in a future release. Please use master_demote_to_slave=1 instead
include/start_slave.inc
include/stop_slave.inc
RESET SLAVE;
diff --git a/mysql-test/suite/rpl/r/show_status_stop_slave_race-7126.result b/mysql-test/suite/rpl/r/show_status_stop_slave_race-7126.result
index 999d9417..35cb3fcd 100644
--- a/mysql-test/suite/rpl/r/show_status_stop_slave_race-7126.result
+++ b/mysql-test/suite/rpl/r/show_status_stop_slave_race-7126.result
@@ -1,6 +1,5 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Master is configured to log replication events");
connection slave;
connection slave;
include/wait_for_slave_to_stop.inc
diff --git a/mysql-test/suite/rpl/t/parallel_backup_xa.inc b/mysql-test/suite/rpl/t/parallel_backup_xa.inc
index 83a6fb79..5f287aa0 100644
--- a/mysql-test/suite/rpl/t/parallel_backup_xa.inc
+++ b/mysql-test/suite/rpl/t/parallel_backup_xa.inc
@@ -41,7 +41,7 @@ if ($slave_ooo_error)
{
SET @sav_innodb_lock_wait_timeout = @@global.innodb_lock_wait_timeout;
SET @sav_slave_transaction_retries = @@global.slave_transaction_retries;
- SET @@global.innodb_lock_wait_timeout =1;
+ SET @@global.innodb_lock_wait_timeout =5;
SET @@global.slave_transaction_retries=0;
}
--source include/start_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_auditing.test b/mysql-test/suite/rpl/t/rpl_auditing.test
new file mode 100644
index 00000000..3d3cee9a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_auditing.test
@@ -0,0 +1,77 @@
+if (!$SERVER_AUDIT2_SO) {
+ skip No SERVER_AUDIT2 plugin;
+}
+
+source include/master-slave.inc;
+
+--disable_warnings
+drop table if exists t1;
+sync_slave_with_master;
+reset master;
+--enable_warnings
+
+--disable_warnings
+CREATE TABLE IF NOT EXISTS mysql.server_audit_filters (
+ filtername char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ rule longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'true' CHECK (json_valid(rule)),
+ CONSTRAINT c_filtername UNIQUE (filtername)
+) ENGINE=Aria;
+
+CREATE TABLE IF NOT EXISTS mysql.server_audit_users (host char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ user char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ filtername char(80) NOT NULL DEFAULT '',
+ CONSTRAINT c_host_user UNIQUE (host, user)
+) ENGINE=Aria;
+--enable_warnings
+
+INSERT INTO mysql.server_audit_filters VALUES ('ignore_sys', '{"ignore_tables" : "mysql.*"}');
+INSERT INTO mysql.server_audit_users VALUES ('%','<replication_slave>','ignore_sys');
+INSERT INTO mysql.server_audit_users VALUES ('%','root','ignore_sys');
+
+install plugin server_audit soname 'server_audit2';
+set global server_audit_logging=on;
+
+# this is done to make test deterministic
+# so the above 'set' command is always logged before the 'create table t1'
+-- disable_query_log
+-- disable_result_log
+select * from mysql.server_audit_filters;
+select * from mysql.server_audit_users;
+-- enable_result_log
+-- enable_query_log
+
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+truncate t1;
+drop table t1;
+sync_slave_with_master;
+
+set global server_audit_logging=off;
+
+truncate mysql.server_audit_filters;
+truncate mysql.server_audit_users;
+INSERT INTO mysql.server_audit_filters VALUES ('no_logging','false');
+INSERT INTO mysql.server_audit_users VALUES ('%','<replication_slave>','no_logging');
+
+set global server_audit_logging=on;
+
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+truncate t1;
+drop table t1;
+sync_slave_with_master;
+
+set global server_audit_logging=off;
+uninstall plugin server_audit;
+truncate mysql.server_audit_filters;
+truncate mysql.server_audit_users;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+# replace the timestamp and the hostname with constant values
+--replace_regex /[0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\,[^,]*\,/TIME,HOSTNAME,/ /\,[1-9][0-9]*\,/,1,/ /\,[1-9][0-9]*/,ID/ /000001\\', [0-9]*,/#', POS,/
+cat_file $MYSQLD_DATADIR/server_audit.log;
+remove_file $MYSQLD_DATADIR/server_audit.log;
+
+connection master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_dump_slave_gtid_state_info.test b/mysql-test/suite/rpl/t/rpl_binlog_dump_slave_gtid_state_info.test
index 02b31c06..4f0eafc4 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_dump_slave_gtid_state_info.test
+++ b/mysql-test/suite/rpl/t/rpl_binlog_dump_slave_gtid_state_info.test
@@ -39,6 +39,7 @@
--source include/master-slave.inc
--connection master
+SET @org_log_warnings=@@GLOBAL.LOG_WARNINGS;
SET GLOBAL LOG_WARNINGS=2;
--connection slave
@@ -110,6 +111,7 @@ CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
--source include/wait_for_pattern_in_file.inc
--echo "===== Clean up ====="
+SET GLOBAL LOG_WARNINGS=@org_log_warnings;
--connection slave
--source include/stop_slave.inc
CHANGE MASTER TO MASTER_USE_GTID=no;
@@ -117,5 +119,4 @@ CHANGE MASTER TO MASTER_USE_GTID=no;
--connection master
DROP TABLE t;
-SET GLOBAL LOG_WARNINGS=default;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_change_master.test b/mysql-test/suite/rpl/t/rpl_change_master.test
index 2758f9d6..992e2390 100644
--- a/mysql-test/suite/rpl/t/rpl_change_master.test
+++ b/mysql-test/suite/rpl/t/rpl_change_master.test
@@ -109,9 +109,4 @@ CHANGE MASTER TO MASTER_USER='root', MASTER_SSL=0, MASTER_SSL_CA='', MASTER_SSL_
CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='', MASTER_SSL=0;
-# MDEV-20122: Deprecate MASTER_USE_GTID=Current_Pos to favor new MASTER_DEMOTE_TO_SLAVE option
---echo "Usage of CURRENT_POS in CHANGE MASTER MASTER_USE_GTID is dreprecated.
-CHANGE MASTER TO MASTER_USE_GTID=CURRENT_POS;
-CHANGE MASTER TO MASTER_USE_GTID=SLAVE_POS;
-
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_change_master_demote.test b/mysql-test/suite/rpl/t/rpl_change_master_demote.test
index 15b55014..6304d352 100644
--- a/mysql-test/suite/rpl/t/rpl_change_master_demote.test
+++ b/mysql-test/suite/rpl/t/rpl_change_master_demote.test
@@ -73,6 +73,9 @@
# non-boolean value.
#
#
+# Additionally ensure MASTER_DEMOTE_TO_REPLICA aliases MASTER_DEMOTE_TO_SLAVE
+#
+#
# References:
# MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based
# replication is used by default if master supports it
@@ -455,6 +458,37 @@ EOF
--echo #
+--echo # MDEV-31768
+--echo # Ensure MASTER_DEMOTE_TO_REPLICA aliases MASTER_DEMOTE_TO_SLAVE
+--echo #
+--connection slave
+RESET MASTER;
+--source include/reset_slave.inc
+CREATE TABLE t_mdev_31768 (a int);
+--let $gtid_binlog_pos= `SELECT @@GLOBAL.gtid_binlog_pos`
+CHANGE MASTER TO master_use_gtid=Replica_Pos, master_demote_to_replica=1;
+--let $gtid_slave_pos= `SELECT @@GLOBAL.gtid_slave_pos`
+
+--echo # Validating alias MASTER_DEMOTE_TO_REPLICA provides intended behavior..
+if (`SELECT strcmp("$gtid_binlog_pos","$gtid_slave_pos") != 0`)
+{
+ --echo # ..failed
+ --echo # Binlog pos: $gtid_binlog_pos
+ --echo # Replica pos: $gtid_slave_pos
+ die MASTER_DEMOTE_TO_REPLICA does not alias MASTER_DEMOTE_TO_SLAVE correctly;
+}
+--echo # ..success
+
+DROP TABLE t_mdev_31768;
+RESET MASTER;
+--source include/reset_slave.inc
+
+--echo # Clear primary binlog state to match replica
+--connection master
+RESET MASTER;
+
+
+--echo #
--echo # Cleanup
--echo #
--connection master
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test
index 95fac6c2..c7ef3a4e 100644
--- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test
@@ -9,6 +9,7 @@ CREATE TABLE t1(i INT) ENGINE=INNODB;
INSERT INTO t1 VALUES(1);
SELECT * FROM t1;
sync_slave_with_master;
+--source include/save_master_gtid.inc
connection slave;
@@ -28,7 +29,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -44,7 +45,7 @@ START TRANSACTION;
INSERT INTO t1 VALUES(2);
INSERT INTO t1 VALUES(3);
COMMIT;
-save_master_pos;
+--source include/save_master_gtid.inc
SELECT * FROM t1;
connection slave;
@@ -55,7 +56,7 @@ SET @@global.debug_dbug=@saved_dbug;
START SLAVE io_thread;
--source include/wait_for_slave_io_to_start.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
SELECT * FROM t1;
--echo # Case 1 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
@@ -70,7 +71,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -86,7 +87,7 @@ INSERT INTO t1 VALUES(4);
INSERT INTO t1 VALUES(5);
COMMIT;
-save_master_pos;
+--source include/save_master_gtid.inc
SELECT * FROM t1;
connection slave;
@@ -97,7 +98,7 @@ SET @@global.debug_dbug=@saved_dbug;
START SLAVE io_thread;
--source include/wait_for_slave_io_to_start.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
SELECT * FROM t1;
--echo # Case 2 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
@@ -112,7 +113,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -140,7 +141,7 @@ INSERT INTO t1 VALUES(10);
INSERT INTO t1 VALUES(11);
COMMIT;
-save_master_pos;
+--source include/save_master_gtid.inc
SELECT * FROM t1;
connection slave;
@@ -157,7 +158,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -178,7 +179,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -196,6 +197,15 @@ INSERT INTO t1 VALUES(12);
INSERT INTO t1 VALUES(13);
COMMIT; # IO thread gets killed here.
+# MDEV-14357
+# As the prior transaction will be ignored on slave because its domain id is
+# ignored, the replica's gtid_slave_pos will be updated to have seen it,
+# despite its eventual failure to queue the whole transaction to the relay log.
+# So for test consistency, we need to synchronize the SQL thread with this
+# position; otherwise, when restarting the server after resetting
+# IGNORE_DOMAIN_IDS, we will re-fetch this event and execute it.
+--source include/save_master_gtid.inc
+
START TRANSACTION;
INSERT INTO t1 VALUES(14);
INSERT INTO t1 VALUES(15);
@@ -207,7 +217,6 @@ INSERT INTO t1 VALUES(16);
INSERT INTO t1 VALUES(17);
COMMIT;
-save_master_pos;
SELECT * FROM t1;
connection slave;
@@ -217,6 +226,11 @@ SELECT * FROM t1;
SET @@global.debug_dbug=@saved_dbug;
+# MDEV-14357
+# Ensure the SQL thread is updated with the GTID of the ignored transaction
+# so we don't fetch it and execute it after restarting without any ignored
+# domain ids.
+--source include/sync_with_master_gtid.inc
--source include/stop_slave_sql.inc
let $do_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -224,8 +238,12 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+
+--connection master
+--source include/save_master_gtid.inc
+--connection slave
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -246,7 +264,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -264,6 +282,11 @@ INSERT INTO t1 VALUES(18);
INSERT INTO t1 VALUES(19); # IO thread gets killed here.
COMMIT;
+# MDEV-14357
+# Synchronize gtid_slave_pos with the ignored event. See prior comments about
+# MDEV-14357 for details.
+--source include/save_master_gtid.inc
+
START TRANSACTION;
INSERT INTO t1 VALUES(20);
INSERT INTO t1 VALUES(21);
@@ -275,7 +298,6 @@ INSERT INTO t1 VALUES(22);
INSERT INTO t1 VALUES(23);
COMMIT;
-save_master_pos;
SELECT * FROM t1;
connection slave;
@@ -285,6 +307,10 @@ SELECT * FROM t1;
SET @@global.debug_dbug=@saved_dbug;
+# MDEV-14357
+# Synchronize gtid_slave_pos with the ignored event. See prior comments about
+# MDEV-14357 for details.
+--source include/sync_with_master_gtid.inc
--source include/stop_slave_sql.inc
let $do_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -292,8 +318,12 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+
+--connection master
+--source include/save_master_gtid.inc
+--connection slave
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -314,7 +344,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
@@ -343,7 +373,7 @@ INSERT INTO t1 VALUES(28);
INSERT INTO t1 VALUES(29);
COMMIT;
-save_master_pos;
+--source include/save_master_gtid.inc
SELECT * FROM t1;
connection slave;
@@ -361,7 +391,7 @@ let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Igno
CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
--source include/start_slave.inc
-sync_with_master;
+--source include/sync_with_master_gtid.inc
let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
index cdfdc098..19074ce9 100644
--- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
@@ -6,9 +6,12 @@
connection master;
+--disable_query_log
call mtr.add_suppression("mysqld: Table '.*gtid_slave_pos' is marked as crashed and should be repaired");
call mtr.add_suppression("Checking table: './mysql/gtid_slave_pos'");
call mtr.add_suppression("mysql.gtid_slave_pos: 1 client is using or hasn't closed the table properly");
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
SET @@session.gtid_domain_id= 0;
create table ti (a int auto_increment primary key) engine=innodb;
@@ -39,7 +42,7 @@ insert into ti set a=null;
insert into tm set a=null;
set @@global.debug_dbug="+d,crash_before_send_xid";
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
connection slave;
let $do_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
@@ -61,7 +64,7 @@ connection master;
--enable_reconnect
--let $rpl_server_number=1
--source include/rpl_start_server.inc
-#--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--echo # Master has restarted successfully
save_master_pos;
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test
index 8083b8f2..38cbbdec 100644
--- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test
@@ -35,9 +35,10 @@ SET @@session.gtid_domain_id= 1;
INSERT INTO t2 VALUES(1);
SELECT * FROM t2;
-sync_slave_with_master;
+source include/save_master_gtid.inc;
connection slave;
+source include/sync_with_master_gtid.inc;
SELECT * FROM t1;
SELECT * FROM t2;
diff --git a/mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test b/mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test
index 1ee04362..633071a8 100644
--- a/mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test
+++ b/mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test
@@ -30,6 +30,10 @@
--let $rpl_skip_start_slave=1
--source include/master-slave.inc
+--disable_query_log
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
+
# Do an insert on master
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES(1);
diff --git a/mysql-test/suite/rpl/t/rpl_get_lock.test b/mysql-test/suite/rpl/t/rpl_get_lock.test
index b5c08858..c6f2f6ec 100644
--- a/mysql-test/suite/rpl/t/rpl_get_lock.test
+++ b/mysql-test/suite/rpl/t/rpl_get_lock.test
@@ -1,6 +1,17 @@
source include/master-slave.inc;
+--disable_query_log
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Could not read packet:.* errno: 11 ");
+# The following one comes from calling dirty_close on client side
+call mtr.add_suppression("Could not read packet:.* errno: 2 ");
+call mtr.add_suppression("Could not read packet:.* errno: 35 ");
+--enable_query_log
+
+let $org_log_warnings=`select @@global.log_warnings`;
+
+# Test extended warnings
+SET GLOBAL LOG_WARNINGS=4;
create table t1(n int);
# Use of get_lock gives a warning for unsafeness if binlog_format=statement
@@ -41,6 +52,10 @@ connection master1;
drop table t1;
sync_slave_with_master;
+connection default;
+--disable_query_log
+--eval SET GLOBAL LOG_WARNINGS=$org_log_warnings;
+--enable_query_log
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt b/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt
index 69c1a64e..5b3fb44c 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt
@@ -1 +1 @@
---master-retry-count=100
+--master-retry-count=100 --slave-net-timeout=10
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash.test b/mysql-test/suite/rpl/t/rpl_gtid_crash.test
index 28329831..e1a57f4b 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_crash.test
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash.test
@@ -12,6 +12,7 @@
call mtr.add_suppression("Checking table:");
call mtr.add_suppression("client is using or hasn't closed the table properly");
call mtr.add_suppression("Table .* is marked as crashed and should be repaired");
+call mtr.add_suppression("Could not read packet:.* errno: 11");
flush tables;
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test b/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test
index faf388f5..e113e17b 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test
@@ -5,6 +5,10 @@
--let $rpl_topology=1->2
--source include/rpl_init.inc
+--disable_query_log
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
+
--echo *** Test crashing master with InnoDB disabled, the binlog gtid state should still be correctly recovered. ***
--connection server_1
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_grouping.test b/mysql-test/suite/rpl/t/rpl_gtid_grouping.test
index 66448c4f..bb1057a6 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_grouping.test
+++ b/mysql-test/suite/rpl/t/rpl_gtid_grouping.test
@@ -93,5 +93,4 @@ CHANGE MASTER TO MASTER_USE_GTID=no;
--connection master
DROP TABLE t;
-SET GLOBAL LOG_WARNINGS=default;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_header_valid.test b/mysql-test/suite/rpl/t/rpl_gtid_header_valid.test
new file mode 100644
index 00000000..d4d75ba8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_header_valid.test
@@ -0,0 +1,213 @@
+#
+# This test ensures that, when a GTID event is constructed by reading its
+# content from a binlog file, the reader (e.g. replica, in this test) cannot
+# read beyond the length of the GTID event. That is, we ensure that the
+# structure indicated by its flags and extra_flags are consistent with the
+# actual content of the event.
+#
+# To spoof a broken GTID log event, we use the DEBUG_DBUG mechanism to inject
+# the master to write invalid GTID events for each flag. The transaction is
+# given a commit id to ensure the event is not shorter than GTID_HEADER_LEN,
+# which would result in zero padding up to GTID_HEADER_LEN.
+#
+#
+# References:
+# MDEV-33672: Gtid_log_event Construction from File Should Ensure Event
+# Length When Using Extra Flags
+#
+
+--source include/have_debug.inc
+
+# GTID event extra_flags are format independent
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo #
+--echo # Initialize test data
+--connection master
+create table t1 (a int) engine=innodb;
+--source include/save_master_gtid.inc
+set @@SESSION.debug_dbug= "+d,binlog_force_commit_id";
+
+--connection slave
+set SQL_LOG_BIN= 0;
+call mtr.add_suppression('Found invalid event in binary log');
+call mtr.add_suppression('Slave SQL.*Relay log read failure: Could not parse relay log event entry.* 1594');
+set SQL_LOG_BIN= 1;
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+--source include/start_slave.inc
+--let $cid_ctr= 100
+
+
+--echo #
+--echo # Test FL_PREPARED_XA
+--connection master
+set @@SESSION.debug_dbug= "+d,negate_xid_from_gtid";
+--eval set @commit_id= $cid_ctr
+
+XA START 'x1';
+insert into t1 values (1);
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_from_gtid";
+XA COMMIT 'x1';
+--source include/save_master_gtid.inc
+
+--echo # Waiting for slave to find invalid event..
+--connection slave
+let $slave_sql_errno= 1594; # ER_SLAVE_RELAY_LOG_READ_FAILURE
+source include/wait_for_slave_sql_error.inc;
+STOP SLAVE IO_THREAD;
+
+--echo # Reset master binlogs (as there is an invalid event) and slave state
+--connection master
+RESET MASTER;
+--connection slave
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+--source include/start_slave.inc
+
+
+--echo #
+--echo # Test FL_COMPLETED_XA
+--connection master
+--inc $cid_ctr
+--eval set @commit_id= $cid_ctr
+XA START 'x1';
+--let $next_val = `SELECT max(a)+1 FROM t1`
+--eval insert into t1 values ($next_val)
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "+d,negate_xid_from_gtid";
+XA COMMIT 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_from_gtid";
+--source include/save_master_gtid.inc
+
+--echo # Waiting for slave to find invalid event..
+--connection slave
+let $slave_sql_errno= 1594; # ER_SLAVE_RELAY_LOG_READ_FAILURE
+source include/wait_for_slave_sql_error.inc;
+STOP SLAVE IO_THREAD;
+
+--echo # Cleanup hanging XA PREPARE on slave
+set statement SQL_LOG_BIN=0 for XA COMMIT 'x1';
+
+--echo # Reset master binlogs (as there is an invalid event) and slave state
+--connection master
+RESET MASTER;
+--connection slave
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+--source include/start_slave.inc
+
+
+--echo #
+--echo # Test Missing xid.data (but has format id and length description parts)
+
+--connection master
+--eval set @commit_id= $cid_ctr
+
+XA START 'x1';
+insert into t1 values (1);
+XA END 'x1';
+XA PREPARE 'x1';
+set @@SESSION.debug_dbug= "+d,negate_xid_data_from_gtid";
+XA COMMIT 'x1';
+set @@SESSION.debug_dbug= "-d,negate_xid_data_from_gtid";
+--source include/save_master_gtid.inc
+
+--echo # Waiting for slave to find invalid event..
+--connection slave
+let $slave_sql_errno= 1594; # ER_SLAVE_RELAY_LOG_READ_FAILURE
+source include/wait_for_slave_sql_error.inc;
+STOP SLAVE IO_THREAD;
+
+--echo # Cleanup hanging XA PREPARE on slave
+set statement SQL_LOG_BIN=0 for XA COMMIT 'x1';
+
+--echo # Reset master binlogs (as there is an invalid event) and slave state
+--connection master
+RESET MASTER;
+--connection slave
+RESET MASTER;
+RESET SLAVE;
+set @@global.gtid_slave_pos="";
+--source include/start_slave.inc
+
+
+--echo #
+--echo # Test FL_EXTRA_MULTI_ENGINE
+--connection master
+set @old_dbug= @@SESSION.debug_dbug;
+set @@SESSION.debug_dbug= "+d,inject_fl_extra_multi_engine_into_gtid";
+--inc $cid_ctr
+--eval set @commit_id= $cid_ctr
+--let $next_val = `SELECT max(a)+1 FROM t1`
+--eval insert into t1 values ($next_val)
+--source include/save_master_gtid.inc
+set @@SESSION.debug_dbug=@old_dbug;
+
+--connection slave
+--echo # Waiting for slave to find invalid event..
+let $slave_sql_errno= 1594; # ER_SLAVE_RELAY_LOG_READ_FAILURE
+source include/wait_for_slave_sql_error.inc;
+STOP SLAVE IO_THREAD;
+
+--echo # Reset master binlogs (as there is an invalid event) and slave state
+--connection master
+RESET MASTER;
+
+--connection slave
+RESET SLAVE;
+RESET MASTER;
+set @@global.gtid_slave_pos="";
+--source include/start_slave.inc
+
+
+--echo #
+--echo # Test FL_COMMIT_ALTER
+--connection master
+set @old_dbug= @@SESSION.debug_dbug;
+set @@SESSION.debug_dbug= "+d,negate_alter_fl_from_gtid";
+set @old_alter_tp= @@SESSION.binlog_alter_two_phase;
+set @@SESSION.binlog_alter_two_phase= 1;
+alter table t1 add column (nc int);
+--source include/save_master_gtid.inc
+set @@SESSION.debug_dbug=@old_dbug;
+set @@SESSION.binlog_alter_two_phase=@old_alter_tp;
+
+--connection slave
+--echo # Waiting for slave to find invalid event..
+let $slave_sql_errno= 1594; # ER_SLAVE_RELAY_LOG_READ_FAILURE
+source include/wait_for_slave_sql_error.inc;
+STOP SLAVE IO_THREAD;
+
+--echo # Reset master binlogs (as there is an invalid event) and slave state
+--connection master
+RESET MASTER;
+
+--connection slave
+# Just to keep tables consistent between master/slave
+SET STATEMENT sql_log_bin=0 FOR alter table t1 add column (nc int);
+RESET SLAVE;
+RESET MASTER;
+set @@global.gtid_slave_pos="";
+--source include/start_slave.inc
+
+
+--echo #
+--echo # Cleanup
+
+--connection master
+drop table t1;
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/sync_with_master_gtid.inc
+
+--source include/rpl_end.inc
+--echo # End of rpl_gtid_header_valid.test
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
index b5ff2949..acce6651 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
+++ b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
@@ -173,6 +173,24 @@ SELECT * FROM t1 ORDER BY a;
--echo *** MDEV-4486: Allow to start old-style replication even if mysql.gtid_slave_pos is unavailable
+# In GTID mode, the old-style replication position is also updated. But during
+# GTID connect, the old-style position is not known until receiving the fake
+# GTID list event, which contains the required position value. If we happened
+# to stop the slave above before this fake GTID list event, the test could fail
+# with duplicate key errors due to switching to non-GTID mode at a wrong
+# position too far back in the binlog.
+#
+# Work-around this by injecting an extra dummt event and syncing the slave to
+# it, ensuring the old-style position will be updated.
+#
+# This work-around could be removed after MDEV-33996 is fixed.
+--connection server_1
+INSERT INTO t1 VALUES (8);
+DELETE FROM t1 WHERE a=8;
+--save_master_pos
+--connection server_2
+--sync_with_master
+
--connection server_2
--source include/stop_slave.inc
CHANGE MASTER TO master_use_gtid= no;
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat.test b/mysql-test/suite/rpl/t/rpl_heartbeat.test
index e4753b7b..8a852fd3 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat.test
@@ -8,14 +8,13 @@
# - SHOW STATUS like 'Slave_heartbeat_period' report
-- source include/have_log_bin.inc
-
-connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
-connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
+-- source include/master-slave.inc
connection master;
reset master;
connection slave;
+-- source include/stop_slave.inc
set @restore_slave_net_timeout= @@global.slave_net_timeout;
--disable_warnings
set @@global.slave_net_timeout= 10;
@@ -170,6 +169,5 @@ set @@global.slave_net_timeout= @restore_slave_net_timeout;
--disable_prepare_warnings
---source include/stop_slave.inc
-
+--source include/rpl_end.inc
--echo End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test b/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
index bd66a249..e5937866 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
@@ -3,6 +3,12 @@
--source include/have_debug.inc
--source include/master-slave.inc
+--disable_query_log
+CALL mtr.add_suppression('SET @master_heartbeat_period to master failed with error');
+CALL mtr.add_suppression('Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again');
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
+
connection slave;
--source include/stop_slave.inc
set @restore_slave_net_timeout= @@global.slave_net_timeout;
@@ -14,14 +20,13 @@ set @@global.slave_net_timeout= 10;
### Checking the range
###
-#
+
# default period slave_net_timeout/2
#
--query_vertical show status like 'Slave_heartbeat_period';
SET @saved_dbug= @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,simulate_slave_heartbeat_network_error";
-CALL mtr.add_suppression('SET @master_heartbeat_period to master failed with error');
-CALL mtr.add_suppression('Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again');
+
--source include/start_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev33798.cnf b/mysql-test/suite/rpl/t/rpl_mdev33798.cnf
new file mode 100644
index 00000000..8e5125ea
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev33798.cnf
@@ -0,0 +1,17 @@
+!include suite/rpl/my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+
+[mysqld.3]
+log-slave-updates
+loose-innodb
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/rpl/t/rpl_mdev33798.test b/mysql-test/suite/rpl/t/rpl_mdev33798.test
new file mode 100644
index 00000000..1448ed91
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev33798.test
@@ -0,0 +1,182 @@
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--let $rpl_topology=1->2,1->3
+--source include/rpl_init.inc
+--connect (server_2b,127.0.0.1,root,,,$SERVER_MYPORT_2)
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET @old_parallel_mode= @@GLOBAL.slave_parallel_mode;
+SET @old_timeout= @@GLOBAL.lock_wait_timeout;
+SET @old_innodb_timeout= @@GLOBAL.innodb_lock_wait_timeout;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+set global slave_parallel_mode= aggressive;
+# High timeout so we get replication sync error and test failure if the
+# conflict handling is insufficient and lock wait timeout occurs.
+SET GLOBAL lock_wait_timeout= 86400;
+SET GLOBAL innodb_lock_wait_timeout= 86400;
+SET STATEMENT sql_log_bin=0 FOR ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+# Test the following scenario:
+#
+# Transactions T1, T2 in domain 1, U1, U2 in domain 2.
+# Wait cycle T1->U2->U1->T2->T1 as follows:
+# T1 row lock wait on U2
+# U2 wait_for_prior_commit on U1
+# U1 row lock wait on T2
+# T2 wait_for_prior_commit on T1
+#
+# Test that the wait cycle is broken correctly with deadlock kill.
+
+--connection server_2b
+# Temporarily block T1 and U1.
+BEGIN;
+SELECT * FROM t1 WHERE a=1 FOR UPDATE;
+SELECT * FROM t1 WHERE a=5 FOR UPDATE;
+
+--connection server_1
+
+SET SESSION gtid_domain_id= 1;
+# T1 in domain 1
+BEGIN;
+UPDATE t1 SET b=1 WHERE a=1;
+UPDATE t1 SET b=1 WHERE a=7;
+COMMIT;
+# T2 in domain 1
+UPDATE t1 SET b=2 WHERE a=3;
+
+SET SESSION gtid_domain_id=2;
+# U1 in domain 2
+BEGIN;
+UPDATE t1 SET b=3 WHERE a=5;
+UPDATE t1 SET b=3 WHERE a=3;
+COMMIT;
+# U2 in domain 2
+UPDATE t1 SET b=4 WHERE a=7;
+SET SESSION gtid_domain_id= 0;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+# Wait until T2, U2 are holding the row locks.
+--let $wait_condition= SELECT COUNT(*)=2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE state LIKE '%Waiting for prior transaction to commit%'
+--source include/wait_condition.inc
+
+# Then let T1, U1 continue to conflict on the row locks, and check that
+# replication correctly handles the conflict.
+--connection server_2b
+ROLLBACK;
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+# Allow either domain to "win" on the conflicting updates.
+SELECT a, (
+ (a=1 AND b=1) OR
+ (a=3 AND (b=2 OR b=3)) OR
+ (a=5 AND b=3) OR
+ (a=7 AND (b=1 OR b=4)) OR
+ ((a MOD 2)=0 AND b=0)) AS `ok`
+ FROM t1
+ ORDER BY a;
+
+# Now try the same thing with multi-source replication.
+
+# Make server_3 a second master
+--connection server_3
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+
+--connection server_2
+--source include/stop_slave.inc
+--replace_result $SERVER_MYPORT_3 MYPORT_3
+eval CHANGE MASTER 'm2' to master_port=$SERVER_MYPORT_3 , master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+
+--connection server_1
+
+SET SESSION gtid_domain_id= 1;
+# T1 in domain 1
+BEGIN;
+UPDATE t1 SET b=11 WHERE a=1;
+UPDATE t1 SET b=11 WHERE a=7;
+COMMIT;
+# T2 in domain 1
+UPDATE t1 SET b=12 WHERE a=3;
+SET SESSION gtid_domain_id= 1;
+
+--connection server_3
+SET SESSION gtid_domain_id=3;
+# U1 in domain 3
+BEGIN;
+UPDATE t1 SET b=13 WHERE a=5;
+UPDATE t1 SET b=13 WHERE a=3;
+COMMIT;
+# U2 in domain 3
+UPDATE t1 SET b=14 WHERE a=7;
+--source include/save_master_gtid.inc
+
+--connection server_2b
+# Temporarily block T1 and U1.
+BEGIN;
+SELECT * FROM t1 WHERE a=1 FOR UPDATE;
+SELECT * FROM t1 WHERE a=5 FOR UPDATE;
+
+START ALL SLAVES;
+# Wait until T2, U2 are holding the row locks.
+--let $wait_condition= SELECT COUNT(*)=2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE state LIKE '%Waiting for prior transaction to commit%'
+--source include/wait_condition.inc
+
+--connection server_2b
+ROLLBACK;
+
+--connection server_1
+--source include/save_master_gtid.inc
+--connection server_2
+--source include/sync_with_master_gtid.inc
+--connection server_3
+--source include/save_master_gtid.inc
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+SELECT a, (
+ (a=1 AND b=11) OR
+ (a=3 AND (b=12 OR b=13)) OR
+ (a=5 AND b=13) OR
+ (a=7 AND (b=11 OR b=14)) OR
+ ((a MOD 2)=0 AND b=0)) AS `ok`
+ FROM t1
+ ORDER BY a;
+
+SET default_master_connection = 'm2';
+--source include/stop_slave.inc
+RESET SLAVE 'm2' ALL;
+SET default_master_connection = '';
+
+--connection server_3
+--source include/start_slave.inc
+
+# Cleanup
+
+--disconnect server_2b
+--connection server_1
+DROP TABLE t1;
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+set global slave_parallel_mode= @old_parallel_mode;
+SET GLOBAL lock_wait_timeout= @old_timeout;
+SET GLOBAL innodb_lock_wait_timeout= @old_innodb_timeout;
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mysql_manager_race_condition.test b/mysql-test/suite/rpl/t/rpl_mysql_manager_race_condition.test
index 751da315..dd4a0fbb 100644
--- a/mysql-test/suite/rpl/t/rpl_mysql_manager_race_condition.test
+++ b/mysql-test/suite/rpl/t/rpl_mysql_manager_race_condition.test
@@ -18,8 +18,14 @@
# associated with this test should enforce that the binlog background thread is
# not created before the handle manager is initialized.
#
+# Addendum 1) This test is extended for MDEV-33799, as the original fix
+# left out the possibility that the binlog background thread can be
+# started during recovery if the binary log is used as the transaction
+# coordinator. This resulted in similar segfaults as seen by MDEV-26473.
+#
# References:
# MDEV-26473 mysqld got exception 0xc0000005 (rpl_slave_state/rpl_load_gtid_slave_state)
+# MDEV-33799 mysql_manager_submit Segfault at Startup Still Possible During Recovery
#
--source include/have_debug.inc
@@ -54,6 +60,63 @@ create table t1 (a int);
--echo #
+--echo # MDEV-33799
+--echo # Ensure that when the binary log is used for recovery (as tc log), that
+--echo # the recovery process cannot start the binlog background thread before
+--echo # the mysql handle manager has started.
+--connection slave
+
+--echo # Add test suppresssions so crash recovery messages don't fail the test
+set session sql_log_bin=0;
+call mtr.add_suppression("mariadbd: Got error '145.*");
+call mtr.add_suppression("Checking table:.*");
+call mtr.add_suppression("mysql.gtid_slave_pos:.*hasn't closed the table properly");
+call mtr.add_suppression("Can't init tc log");
+call mtr.add_suppression("Aborting");
+set session sql_log_bin=1;
+
+--echo # Create slave-side only table
+create table t2 (a int) engine=innodb;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+
+--echo # Crash mariadbd when binlogging transaction to corrupt database state
+--connection slave1
+set @@session.debug_dbug="+d,crash_before_writing_xid";
+--send insert into t2 values (1)
+
+--connection slave
+--source include/wait_until_disconnected.inc
+
+--connection slave1
+--error 2013,ER_CONNECTION_KILLED
+--reap
+
+--echo # Restart mariadbd in recovery mode. Note --tc-heuristic-recover
+--echo # forces mysqld to exit with error, so we run mariadbd via CLI
+--echo # MYSQLD_LAST_CMD --debug_dbug="+d,delay_start_handle_manager" --tc-heuristic-recover=COMMIT
+--error 1
+--exec $MYSQLD_LAST_CMD --debug_dbug="+d,delay_start_handle_manager" --tc-heuristic-recover=COMMIT
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart
+EOF
+
+--connection server_2
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--connection slave1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--connection slave
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--source include/start_slave.inc
+
+
+--echo #
--echo # Cleanup
--echo #
@@ -63,5 +126,6 @@ drop table t1;
--connection slave
--source include/sync_with_master_gtid.inc
+drop table t2;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_packet.test b/mysql-test/suite/rpl/t/rpl_packet.test
index cbde486b..f1814e61 100644
--- a/mysql-test/suite/rpl/t/rpl_packet.test
+++ b/mysql-test/suite/rpl/t/rpl_packet.test
@@ -20,6 +20,9 @@ source include/master-slave.inc;
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, .*error.* 1153");
call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
+call mtr.add_suppression("Could not write packet:");
+call mtr.add_suppression("Got a packet bigger than 'max_allowed_packet' bytes");
+
let $db= DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
disable_warnings;
eval drop database if exists $db;
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test b/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
index c5d2b85c..c34c4f20 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
@@ -300,7 +300,7 @@ SET GLOBAL slave_parallel_threads=10;
# Find the thread id of the driver SQL thread that we want to kill.
--let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Slave has read all relay log%'
--source include/wait_condition.inc
---let $thd_id= `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Slave has read all relay log%'`
+--let $thd_id= `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%relay log%'`
SET @old_max_queued= @@GLOBAL.slave_parallel_max_queued;
SET GLOBAL slave_parallel_max_queued=9000;
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_multi_domain_xa.test b/mysql-test/suite/rpl/t/rpl_parallel_multi_domain_xa.test
new file mode 100644
index 00000000..f17634d4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_multi_domain_xa.test
@@ -0,0 +1,181 @@
+# Similar to rpl_parallel_optimistic_xa to verify XA
+# parallel execution with multiple gtid domain.
+# References:
+# MDEV-33668 Adapt parallel slave's round-robin scheduling to XA events
+
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+--source include/master-slave.inc
+
+# Tests' global declarations
+--let $trx = _trx_
+--let $slave_timeout= -1
+
+call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
+call mtr.add_suppression("WSREP: handlerton rollback failed");
+
+--connection master
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+--save_master_pos
+
+# Prepare to restart slave into optimistic parallel mode
+--connection slave
+--sync_with_master
+--source include/stop_slave.inc
+# This test runs huge number of transactions independently in parallel that
+# all conflict on a single row. This requires a large number of retries, as a
+# transaction can repeatedly conflict/deadlock with a large number of other
+# transactions (in a different domain) one by one.
+SET @old_transaction_retries = @@GLOBAL.slave_transaction_retries;
+SET @@global.slave_transaction_retries = 1000;
+SET @old_parallel_threads = @@GLOBAL.slave_parallel_threads;
+SET @old_slave_domain_parallel_threads = @@GLOBAL.slave_domain_parallel_threads;
+SET @@global.slave_parallel_threads = 5;
+SET @@global.slave_domain_parallel_threads = 3;
+SET @old_parallel_mode = @@GLOBAL.slave_parallel_mode;
+
+CHANGE MASTER TO master_use_gtid=slave_pos;
+
+--connection master
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0);
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+
+--let $mode = 2
+# mode = 2 is optimistic
+SET @@global.slave_parallel_mode ='optimistic';
+while ($mode)
+{
+ --connection master
+ #
+ # create XA events alternating gtid domains to run them in parallel on slave.
+ #
+ --let $domain_num = 3
+ --let $trx_num = 777
+ --let $i = $trx_num
+ --let $conn = master
+ --disable_query_log
+ while($i > 0)
+ {
+ --let $domain_id = `SELECT $i % $domain_num`
+ --eval set @@gtid_domain_id = $domain_id
+ # 'decision' to commit 0, or rollback 1
+ --let $decision = `SELECT $i % 2`
+ --eval XA START '$conn$trx$i'
+ --eval UPDATE t1 SET b = 1 - 2 * $decision WHERE a = 1
+ --eval XA END '$conn$trx$i'
+ --eval XA PREPARE '$conn$trx$i'
+ --let $term = COMMIT
+ if ($decision)
+ {
+ --let $term = ROLLBACK
+ }
+ --eval XA $term '$conn$trx$i'
+
+ --dec $i
+ }
+ --enable_query_log
+ --source include/save_master_gtid.inc
+
+ --connection slave
+ if (`select $mode = 1`)
+ {
+ SET @@global.slave_parallel_mode ='conservative';
+ }
+ --source include/start_slave.inc
+ --source include/sync_with_master_gtid.inc
+ --source include/stop_slave.inc
+
+ --dec $mode
+}
+
+
+# Generations test.
+# Create few ranges of XAP groups length of greater than
+# 3 * slave_parallel_threads + 1
+# terminated upon each range.
+--let $iter = 3
+--let $generation_len = @@global.slave_parallel_threads
+--let $domain_num = 3
+--disable_query_log
+--connection master
+while ($iter)
+{
+ --let $k = `select 3 * 3 * $generation_len`
+ --let $_k = $k
+ while ($k)
+ {
+ --source include/count_sessions.inc
+ --connect(con$k,localhost,root,,)
+ #
+ # create XA events alternating gtid domains to run them in parallel on slave.
+ #
+ --let $domain_id = `SELECT $k % $domain_num`
+ --eval set @@gtid_domain_id = $domain_id
+ --eval XA START '$trx$k'
+ --eval INSERT INTO t1 VALUES ($k + 1, $iter)
+ --eval XA END '$trx$k'
+ --eval XA PREPARE '$trx$k'
+
+ --disconnect con$k
+ --connection master
+ --source include/wait_until_count_sessions.inc
+
+ --dec $k
+ }
+
+ --connection master
+ --let $k = $_k
+ while ($k)
+ {
+ --let $term = COMMIT
+ --let $decision = `SELECT $k % 2`
+ if ($decision)
+ {
+ --let $term = ROLLBACK
+ }
+ --eval XA $term '$trx$k'
+ }
+ --dec $iter
+}
+--enable_query_log
+--source include/save_master_gtid.inc
+
+--connection slave
+SET @@global.slave_parallel_mode = 'optimistic';
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+
+#
+# Overall consistency check
+#
+--let $diff_tables= master:t1, slave:t1
+--source include/diff_tables.inc
+
+
+#
+# Clean up.
+#
+--connection slave
+--source include/stop_slave.inc
+SET @@global.slave_parallel_mode = @old_parallel_mode;
+SET @@global.slave_parallel_threads = @old_parallel_threads;
+SET @@global.slave_domain_parallel_threads = @old_slave_domain_parallel_threads;
+SET @@global.slave_transaction_retries = @old_transaction_retries;
+--source include/start_slave.inc
+
+--connection master
+DROP TABLE t1;
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/sync_with_master_gtid.inc
+
+--connection master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test b/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test
index f5e48282..09da8c2d 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test
@@ -508,6 +508,7 @@ DELETE FROM t2;
# The 1st of the following two trx:s a blocker on slave
--connection server_2
+SET @org_log_warnings=@@GLOBAL.LOG_WARNINGS;
set global log_warnings=2;
BEGIN;
INSERT INTO t1 SET a=1;
@@ -555,7 +556,7 @@ DELETE FROM t2;
#
--connection server_2
--source include/stop_slave.inc
-set global log_warnings=default;
+set global log_warnings=@org_log_warnings;
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
--source include/start_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_optimistic_xa.test b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_xa.test
index 35c22d1e..6e5cf436 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_optimistic_xa.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_xa.test
@@ -206,7 +206,6 @@ while($i > 0)
#
--connection slave
--source include/stop_slave.inc
-set global log_warnings=default;
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
--source include/start_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_retry.test b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
index fe6f40d2..1e87c85c 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_retry.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
@@ -411,6 +411,44 @@ DROP function foo;
--sync_slave_with_master server_2
#
+# MDEV-33303: slave_parallel_mode=optimistic should not report the mode's
+# specific temporary errors.
+#
+
+--connection server_2
+--source include/stop_slave.inc
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=4;
+
+--connection server_1
+# The problem occurred in the code path for row-based updates in tables
+# with no primary/unique key, where a scan is needed.
+CREATE TABLE t1 (a INT, b VARCHAR(123)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 'asdf');
+UPDATE t1 SET b='zxf1' WHERE a=1;
+UPDATE t1 SET b='\n' WHERE a=1;
+
+--connection server_2
+# Inject a small sleep in the code that makes the race easier to hit.
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,write_row_inject_sleep_before_ha_write_row";
+--source include/start_slave.inc
+
+--connection server_1
+# Here, we would get errors in the slave's error log:
+# [ERROR] mariadbd: Can't find record in 't1'
+--sync_slave_with_master server_2
+
+--connection server_1
+DROP TABLE t1;
+--sync_slave_with_master server_2
+--source include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+
+#
# MDEV-12746 rpl.rpl_parallel_optimistic_nobinlog fails committing out of order at retry
#
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_sbm.test b/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
index 58c0db15..90753caf 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
@@ -1,9 +1,9 @@
#
# Ensure that Seconds_Behind_Master works correctly on the parallel replica.
#
---source include/master-slave.inc
--source include/have_log_bin.inc
--source include/have_debug.inc
+--source include/master-slave.inc
--echo #
--echo # MDEV-29639: Seconds_Behind_Master is incorrect for Delayed, Parallel Replicas
@@ -67,11 +67,18 @@ if (`SELECT $sbm_trx1_arrive > ($seconds_since_idling + 1)`)
--echo # if the event is still to be delayed, SBM should resume accordingly
--source include/stop_slave.inc
+
+--echo # Lock t1 on slave to ensure the event can't finish (and thereby update
+--echo # Seconds_Behind_Master) so slow running servers don't accidentally
+--echo # catch up to the master before checking SBM.
+--connection server_2
+LOCK TABLES t1 WRITE;
+
--source include/start_slave.inc
--connection slave
---echo # Waiting for replica to resume the delay for the transaction
---let $wait_condition= SELECT count(*) FROM information_schema.processlist WHERE state LIKE 'Waiting until MASTER_DELAY seconds after master executed event';
+--echo # Waiting for replica to get blocked by the table lock
+--let $wait_condition= SELECT count(*) FROM information_schema.processlist WHERE state LIKE 'Waiting for table metadata lock';
--source include/wait_condition.inc
--echo # Sleeping 1s to increment SBM
@@ -86,6 +93,9 @@ if (`SELECT $sbm_trx1_after_1s_sleep <= $sbm_trx1_arrive`)
}
--echo # ..done
+--connection server_2
+UNLOCK TABLES;
+
--source include/sync_with_master_gtid.inc
--echo #
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_seq.test b/mysql-test/suite/rpl/t/rpl_parallel_seq.test
index b1b15412..cc361a7b 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_seq.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_seq.test
@@ -195,4 +195,22 @@ DROP TABLE ti;
--sync_slave_with_master
+# MDEV-31779 server crash in Rows_log_event::update_sequence at replaying binlog
+--connection master
+--let $binlog_file = query_get_value(SHOW MASTER STATUS, File, 1)
+--let $binlog_start = query_get_value(SHOW MASTER STATUS, Position, 1)
+CREATE SEQUENCE s;
+--disable_ps2_protocol
+SELECT NEXTVAL(s);
+--enable_ps2_protocol
+flush binary logs;
+DROP SEQUENCE s;
+--exec $MYSQL_BINLOG $datadir/$binlog_file | $MYSQL test
+DROP SEQUENCE s;
+
+--sync_slave_with_master
+
+--connection master
+
+
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test b/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
index efb998b0..94f19a6c 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
@@ -295,13 +295,14 @@ CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
||
--delimiter ;
SET sql_log_bin=1;
-
+--source include/stop_slave_io.inc
--connection server_1
INSERT INTO t3 VALUES (49,0);
--save_master_pos
--connection server_2
-START SLAVE SQL_THREAD;
+CHANGE MASTER TO master_use_gtid=no;
+--source include/start_slave.inc
--sync_with_master
SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
# Restore the foo() function.
@@ -334,11 +335,6 @@ SET GLOBAL slave_parallel_threads=10;
--echo *** 3. Same as (2), but not using gtid mode ***
---connection server_2
---source include/stop_slave.inc
-CHANGE MASTER TO master_use_gtid=no;
---source include/start_slave.inc
-
--connection server_1
# Set up three transactions on the master that will be group-committed
# together so they can be replicated in parallel on the slave.
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test b/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
index 35879e98..1610292e 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
@@ -57,6 +57,7 @@ COMMIT;
INSERT INTO t3 VALUES(21, 21);
INSERT INTO t3 VALUES(22, 22);
--save_master_pos
+--let $master_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
# Start a connection that will block the replicated transaction halfway.
--connection con_temp1
@@ -64,7 +65,27 @@ BEGIN;
INSERT INTO t2 VALUES (21);
--connection server_2
-START SLAVE;
+
+#
+# Parallel replication will complete any in-progress event group at STOP SLAVE,
+# but only if the event group is already queued up for the worker thread. If
+# the SQL driver thread is delayed in queueing up events, the parallel worker
+# thread can abort the event group, leaving the non-transactional update to the
+# MyISAM table that cannot be rolled back (MDEV-7432). If this happens the test
+# would fail with duplicate key error after slave restart.
+#
+# To avoid this, we here wait for the IO thread to read all master events, and
+# for the SQL driver thread to queue all the events for workers. This wait
+# should be removed if/when MDEV-7432 is fixed.
+#
+START SLAVE IO_THREAD;
+--let $slave_param= Read_Master_Log_Pos
+--let $slave_param_value= $master_pos
+--source include/wait_for_slave_param.inc
+START SLAVE SQL_THREAD;
+--let $wait_condition= SELECT COUNT(*)=1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE State LIKE '%Slave has read all relay log; waiting for more updates%'
+--source include/wait_condition.inc
+
# Wait for the MyISAM change to be visible, after which replication will wait
# for con_temp1 to roll back.
--let $wait_condition= SELECT COUNT(*) = 1 FROM t1 WHERE a=20
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_temptable.test b/mysql-test/suite/rpl/t/rpl_parallel_temptable.test
index 3684763d..8bab4af2 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_temptable.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_temptable.test
@@ -264,6 +264,30 @@ SET GLOBAL slave_parallel_mode=@old_mode;
--source include/start_slave.inc
+--echo *** MDEV33426: Memory allocation accounting incorrect for replicated temptable
+--connection server_1
+CREATE TEMPORARY TABLE t5 (a int) ENGINE=Aria;
+CREATE TEMPORARY TABLE t6 (a int) ENGINE=Heap;
+INSERT INTO t5 VALUES (1);
+INSERT INTO t6 VALUES (2);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 SELECT a+40, 5 FROM t5;
+INSERT INTO t1 SELECT a+40, 6 FROM t6;
+DROP TABLE t5, t6;
+
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 WHERE a>=40 ORDER BY a;
+
# Clean up.
--connection server_2
diff --git a/mysql-test/suite/rpl/t/rpl_relay_max_extension.test b/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
index acca2f69..b6a8ccb5 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
@@ -47,7 +47,7 @@ RESET SLAVE;
--echo #
--let $datadir = `select @@datadir`
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
@@ -64,7 +64,7 @@ RESET SLAVE;
--echo # Restart slave server
--echo #
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
SET @save_slave_parallel_threads= @@GLOBAL.slave_parallel_threads;
diff --git a/mysql-test/suite/rpl/t/rpl_rewrite_db_sys_vars.test b/mysql-test/suite/rpl/t/rpl_rewrite_db_sys_vars.test
index 27710063..fab78a92 100644
--- a/mysql-test/suite/rpl/t/rpl_rewrite_db_sys_vars.test
+++ b/mysql-test/suite/rpl/t/rpl_rewrite_db_sys_vars.test
@@ -19,15 +19,8 @@ create database replica_db1;
create database y;
# This DB will be rewrited from test case
create database test_replica;
-SELECT @@GLOBAL.replicate_rewrite_db;
let $rewrite_db_sss= query_get_value(SHOW SLAVE STATUS, Replicate_Rewrite_DB, 1);
---echo # Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
-if (`SELECT strcmp(@@global.replicate_rewrite_db, "$rewrite_db_sss") != 0`)
-{
- die SHOW SLAVE STATUS Replicate_Rewrite_DB value $rewrite_db_sss does not match variable @@GLOBAL.replicate_rewrite_db;
-}
---echo # ...success
-
+eval SELECT @@GLOBAL.replicate_rewrite_db, '$rewrite_db_sss' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
--echo # Create DBs and tables on primary
connection master;
@@ -63,16 +56,10 @@ source include/stop_slave.inc;
SET @save_replicate_rewrite_db = @@GLOBAL.replicate_rewrite_db;
SELECT @@GLOBAL.replicate_rewrite_db;
SET @@GLOBAL.replicate_rewrite_db="test_master->test_replica";
-SELECT @@GLOBAL.replicate_rewrite_db;
SHOW DATABASES like 'test_replica';
source include/start_slave.inc;
let $rewrite_db_sss= query_get_value(SHOW SLAVE STATUS, Replicate_Rewrite_DB, 1);
---echo # Ensuring SHOW SLAVE STATUS produces correct value for Replicate_Rewrite_DB...
-if (`SELECT strcmp(@@global.replicate_rewrite_db, "$rewrite_db_sss") != 0`)
-{
- die SHOW SLAVE STATUS Replicate_Rewrite_DB value $rewrite_db_sss does not match variable @@GLOBAL.replicate_rewrite_db;
-}
---echo # ...success
+eval SELECT @@GLOBAL.replicate_rewrite_db, '$rewrite_db_sss' as 'Replicate_Rewrite_DB from SHOW SLAVE STATUS';
--echo # Create DB and tables on primary
connection master;
@@ -101,6 +88,9 @@ select * from test_replica.my_table;
--source include/diff_tables.inc
--echo # Update of values on primary for DB not set in replication_rewrite_db
+--source include/stop_slave.inc
+--source include/reset_slave.inc
+
connection master;
use x;
insert into my_table values (314);
@@ -108,9 +98,6 @@ select * from my_table;
--source include/save_master_gtid.inc
connection slave;
---let $rpl_only_running_threads=1
---source include/stop_slave.inc
---source include/reset_slave.inc
--source include/start_slave.inc
SELECT @@GLOBAL.replicate_rewrite_db;
--source include/sync_with_master_gtid.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_find_row_debug.test b/mysql-test/suite/rpl/t/rpl_row_find_row_debug.test
index e3edabe2..f06b2982 100644
--- a/mysql-test/suite/rpl/t/rpl_row_find_row_debug.test
+++ b/mysql-test/suite/rpl/t/rpl_row_find_row_debug.test
@@ -51,7 +51,9 @@ DROP TABLE t1;
# cleanup
--source include/stop_slave.inc
SET @@GLOBAL.debug_dbug = @saved_dbug;
+--disable_query_log
--eval SET GLOBAL log_warnings = $log_warnings_save
+--enable_query_log
--source include/start_slave.inc
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.cnf b/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.cnf
new file mode 100644
index 00000000..e8e03e71
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.cnf
@@ -0,0 +1,10 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-warnings=9
+rpl_semi_sync_master_enabled=1
+rpl_semi_sync_master_wait_point=AFTER_COMMIT
+
+[mysqld.2]
+log-warnings=9
+rpl_semi_sync_slave_enabled=1
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.test b/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.test
new file mode 100644
index 00000000..65b6e8b4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_cond_var_per_thd.test
@@ -0,0 +1,77 @@
+#
+# This test ensures that, when using semi-sync with the wait_point
+# AFTER_COMMIT, each thread awaiting an ACK is only woken up when its ACK (or
+# an ACK for a later commit in binlog) has been received from the slave.
+#
+# Prior to MDEV-33551, all threads would be woken up for each ACK received,
+# leading to large slowdowns, as each thread would check if the ACK was for it
+# in mutual exclusion from the others.
+#
+# To ensure this, a debug-build-only log warning is added into
+# Repl_semi_sync_master::commit_trx() at wakeup time, which will complain if
+# the awoken thread's binlog wait coordinates are after the coordinate of the
+# last ACK coordinates. Then, we use binlog group commit to commit a series of
+# transactions, such that each will await an ACK concurrently. After all
+# transactions have been finished (i.e. ACKed and committed), we check the log
+# for the expected absence of the added debug warning message.
+#
+#
+# References:
+# MDEV-33551: Semi-sync Wait Point AFTER_COMMIT Slow on Workloads with Heavy
+# Concurrency
+#
+--source include/have_binlog_format_row.inc
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--connection master
+call mtr.add_suppression("Got an error reading communication packets");
+set @save_bgc_count= @@global.binlog_commit_wait_count;
+set @save_bgc_usec= @@global.binlog_commit_wait_usec;
+set @save_debug_dbug= @@global.debug_dbug;
+set @@global.binlog_commit_wait_count=3;
+set @@global.binlog_commit_wait_usec=10000000;
+set @@global.debug_dbug="+d,testing_cond_var_per_thd";
+
+--echo # Ensure semi-sync is on
+--connection slave
+let $status_var= rpl_semi_sync_slave_status;
+let $status_var_value= ON;
+source include/wait_for_status_var.inc;
+
+--connection master
+let $status_var= rpl_semi_sync_master_status;
+let $status_var_value= ON;
+source include/wait_for_status_var.inc;
+
+--echo # Create three transactions to binlog group commit together
+--connection master
+--send create table t1 (a int)
+--connection server_1
+--send create table t2 (a int)
+--connection default
+--send create table t3 (a int)
+
+--connection master
+--reap
+--connection server_1
+--reap
+--connection default
+--reap
+
+--let $assert_text= Check that there is no 'Thread awaiting semi-sync ACK was awoken before its ACK' warning in error log.
+--let $assert_select=Thread awaiting semi-sync ACK was awoken before its ACK
+--let $assert_file= $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_count= 0
+--let $assert_only_after=CURRENT_TEST
+--source include/assert_grep.inc
+
+--echo #
+--echo # Cleanup
+--connection master
+set @@global.binlog_commit_wait_count=@save_bgc_count;
+set @@global.binlog_commit_wait_usec=@save_bgc_usec;
+set @@global.debug_dbug=@save_debug_dbug;
+drop table t1, t2, t3;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc b/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc
index 01b0d0e5..bb705d39 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc
@@ -34,14 +34,16 @@ if ($case == 1)
if ($case == 2)
{
SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+ SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync WAIT_FOR con1_go1";
--send_eval $query_to_crash
--connect (conn_client_2,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
# use the same signal with $query_to_crash
SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
- SET GLOBAL debug_dbug="d,Notify_binlog_EOF";
+ SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL con1_go";
+ SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con2_ready";
--send_eval $query2_to_crash
--connection server_$server_to_crash
- SET DEBUG_SYNC= "now WAIT_FOR eof_reached";
+ SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
--source include/kill_mysqld.inc
}
@@ -68,9 +70,7 @@ source include/wait_for_slave_param.inc;
--error 2003
--source include/stop_slave.inc
---let $assert_cond= COUNT(*) = $expected_rows_on_slave FROM t1
---let $assert_text= Table t1 should have $expected_rows_on_slave rows.
---source include/assert.inc
+--eval select count(*) 'on slave must be $expected_rows_on_slave' from t1
SELECT @@GLOBAL.gtid_current_pos;
@@ -81,9 +81,21 @@ SELECT @@GLOBAL.gtid_current_pos;
--enable_reconnect
--source include/wait_until_connected_again.inc
---let $assert_cond= COUNT(*) = $expected_rows_on_master FROM t1
---let $assert_text= Table t1 should have $expected_rows_on_master rows.
---source include/assert.inc
+--let $slave_semi_sync_enabled= query_get_value(SHOW VARIABLES LIKE 'Rpl_semi_sync_slave_enabled', Value, 1)
+--echo # Ensuring variable rpl_semi_sync_slave_enabled is ON..
+if (`SELECT strcmp("ON", "$slave_semi_sync_enabled") != 0`)
+{
+ --die Slave started with rpl_semi_sync_slave_enabled=1 yet it is OFF in the variable output
+}
+
+--let $slave_semi_sync_status= query_get_value(SHOW STATUS LIKE 'Rpl_semi_sync_slave_status', Value, 1)
+--echo # Ensuring status rpl_semi_sync_slave_status is OFF..
+if (`SELECT strcmp("OFF", "$slave_semi_sync_status") != 0`)
+{
+ --die Slave started with skip-slave-start yet started with rpl_semi_sync_slave_status=ON
+}
+
+--eval select count(*) 'on master must be $expected_rows_on_master' from t1
# Check error log for correct messages.
let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.$server_to_crash.err;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
index 17d7b50d..e4d0bc0a 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
@@ -10,6 +10,11 @@
--source include/have_binlog_format_row.inc
--source include/master-slave.inc
+--disable_query_log
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+flush tables;
+--enable_query_log
+
# Initial slave
--connection server_2
--source include/stop_slave.inc
@@ -78,7 +83,7 @@ SHOW VARIABLES LIKE 'gtid_slave_pos';
--connection server_1
--sync_with_master
---eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--eval SELECT COUNT(*) 'must be $rows_so_far' FROM t1
--echo # ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
SHOW VARIABLES LIKE 'gtid_binlog_pos';
@@ -129,7 +134,7 @@ SHOW VARIABLES LIKE 'gtid_slave_pos';
--connection server_2
--sync_with_master
---eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--eval SELECT COUNT(*) 'must be $rows_so_far as' FROM t1
--echo # ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
SHOW VARIABLES LIKE 'gtid_binlog_pos';
@@ -180,7 +185,7 @@ SHOW VARIABLES LIKE 'gtid_slave_pos';
--connection server_1
--source include/sync_with_master_gtid.inc
---eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--eval SELECT COUNT(*) 'must be $rows_so_far' FROM t1
--echo # ... the gtid states on the slave:
SHOW VARIABLES LIKE 'gtid_slave_pos';
SHOW VARIABLES LIKE 'gtid_binlog_pos';
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_master_shutdown.test b/mysql-test/suite/rpl/t/rpl_semi_sync_master_shutdown.test
index 05e6fcca..d653d84c 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_master_shutdown.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_master_shutdown.test
@@ -4,19 +4,17 @@
# finishes off as specified in particular trying to connect even to a shut down
# master for a semisync firewell routine.
-source include/not_embedded.inc;
-source include/have_debug.inc;
source include/master-slave.inc;
--connection master
---let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled `
+--let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled`
SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
--connection slave
source include/stop_slave.inc;
---let $sav_enabled_slave=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled `
-SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1;
+--let $sav_enabled_slave=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled`
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = 1;
source include/start_slave.inc;
--connection master
@@ -52,7 +50,6 @@ source include/rpl_start_server.inc;
#--source include/start_slave.inc
--connection master
-SET @@GLOBAL.debug_dbug="";
--eval SET @@GLOBAL. rpl_semi_sync_master_enabled = $sav_enabled_master
--connection master
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.cnf b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.cnf
index 2cf1b178..5f69b557 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.cnf
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.cnf
@@ -1,13 +1,13 @@
!include ../my.cnf
[mysqld.1]
-log_warnings=9
+log_warnings=3
[mysqld.2]
-log_warnings=9
+log_warnings=3
[mysqld.3]
-log_warnings=9
+log_warnings=3
[ENV]
SERVER_MYPORT_3= @mysqld.3.port
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.inc b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.inc
index 252541ae..d20ef628 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.inc
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.inc
@@ -3,7 +3,6 @@
# replicas before shutting down.
#
# Parameters:
-# server_1_dbug (string) Debug setting for primary (server 1)
# server_2_dbug (string) Debug setting to simulate delay or error on
# the first replica (server 2)
# server_3_dbug (string) Debug setting to simulate delay or error on
@@ -32,8 +31,8 @@ while (`SELECT $i <= $slave_last`)
--connection server_$i
--sync_with_master
- set global rpl_semi_sync_slave_enabled = 1;
source include/stop_slave.inc;
+ set global rpl_semi_sync_slave_enabled = 1;
source include/start_slave.inc;
show status like 'Rpl_semi_sync_slave_status';
@@ -56,8 +55,6 @@ show status like 'Rpl_semi_sync_master_status';
show status like 'Rpl_semi_sync_master_clients';
--echo #-- Prepare servers to simulate delay or error
---connection server_1
---eval SET @@GLOBAL.debug_dbug= $server_1_dbug
--connection server_2
--eval SET @@GLOBAL.debug_dbug= $server_2_dbug
--connection server_3
@@ -66,6 +63,11 @@ show status like 'Rpl_semi_sync_master_clients';
--echo #--
--echo #-- Test begins
+--connection server_1_con2
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
--connection server_1
--echo #-- Begin semi-sync transaction
--send INSERT INTO t1 VALUES (1)
@@ -75,25 +77,13 @@ show status like 'Rpl_semi_sync_master_clients';
let $status_var= Rpl_semi_sync_master_wait_sessions;
let $status_var_value= 1;
source include/wait_for_status_var.inc;
-show status like 'Rpl_semi_sync_master_wait_sessions';
-
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
-
---echo #-- Give enough time after timeout/ack received to query yes_tx/no_tx
-SET @@GLOBAL.debug_dbug= "+d,delay_shutdown_phase_2_after_semisync_wait";
--echo #-- Begin master shutdown
---send SHUTDOWN WAIT FOR ALL SLAVES
+SHUTDOWN WAIT FOR ALL SLAVES;
+--source include/wait_until_disconnected.inc
--connection server_1
---reap
---echo #-- Ensure either ACK was received (yes_tx=1) or timeout (no_tx=1)
-show status like 'Rpl_semi_sync_master_yes_tx';
-show status like 'Rpl_semi_sync_master_no_tx';
-
---connection server_1_con2
+--error 2013
--reap
--source include/wait_until_disconnected.inc
@@ -111,19 +101,72 @@ show status like 'Rpl_semi_sync_master_no_tx';
--echo #
--echo #-- Re-synchronize slaves with master and disable semi-sync
+if (`SELECT ($server_2_expect_row_count + $server_3_expect_row_count) < 2`)
+{
+--echo #-- FIXME: workaround for MDEV-28141, preventing errored replicas from
+--echo # killing their semi-sync connections
+# I.e. we can't create a new kill connection to the primary if we know that the
+# primary is shutting down for risk of Packets out of order error. So we wait
+# to hit a debug_sync point before the creation of the new kill_connection, and
+# don't progress until the primary has been shutdown, so no new connection can
+# be formed.
+# Note this is only needed in the error case (using corrupt_queue_event), as
+# the running io_thread will otherwise automatically detect that the primary
+# has shutdown before progressing to the cleanup of the io thread.
+}
+
+if (!$server_2_expect_row_count)
+{
+ --connection server_2
+ set debug_sync= "now wait_for at_semisync_kill_connection";
+ set debug_sync= "now signal continue_semisync_kill_connection";
+ --echo # Wait for debug_sync signal to have been received before issuing RESET
+ let $wait_condition= select count(*)=0 from information_schema.processlist where state like "debug sync point%";
+ source include/wait_condition.inc;
+ set debug_sync= "reset";
+}
+if (!$server_3_expect_row_count)
+{
+ --connection server_3
+ set debug_sync= "now wait_for at_semisync_kill_connection";
+ set debug_sync= "now signal continue_semisync_kill_connection";
+ --echo # Wait for debug_sync signal to have been received before issuing RESET
+ let $wait_condition= select count(*)=0 from information_schema.processlist where state like "debug sync point%";
+ source include/wait_condition.inc;
+ set debug_sync= "reset";
+}
+
--echo #-- Stop slaves
--connection server_2
---eval SET @@GLOBAL.debug_dbug= "$sav_server_2_dbug"
---eval SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0
---let $rpl_only_running_threads= 1
-source include/stop_slave.inc;
+# If server_2_expect_row_count is 0, we are simulating an error on the replica
+# and the IO thread will end with errno 1595.
+# Otherwise, we still expect error, because the master has shutdown at this
+# point, and the IO thread may or may not have realized the shutdown, and
+# started to try to automatically reconnect. This may result in the IO thread
+# giving a 2003 error if the slave tries to reconnect to a shutdown master.
+# Additionally disable warnings because the slave may have stopped in err
+# automatically, and we don't want a sporadic "Slave is already stopped"
+# warning.
+--disable_warnings
+--let $rpl_allow_error= 1
+--source include/stop_slave_io.inc
+--enable_warnings
+--let $rpl_allow_error=
+--source include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_2;
--connection server_3
---eval SET @@GLOBAL.debug_dbug= "$sav_server_3_dbug"
---eval SET @@GLOBAL.rpl_semi_sync_slave_enabled= 0
---let $rpl_only_running_threads= 1
-source include/stop_slave.inc;
+# Expect error for IO thread, see above comment for stopping server_2
+--disable_warnings
+--let $rpl_allow_error= 1
+--source include/stop_slave_io.inc
+--enable_warnings
+--let $rpl_allow_error=
+--source include/stop_slave_sql.inc
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled= @sav_enabled_server_3;
--echo #-- Bring the master back up
--connection server_1_con2
@@ -142,13 +185,6 @@ EOF
--enable_reconnect
--source include/wait_until_connected_again.inc
---eval SET @@GLOBAL.debug_dbug= "$sav_master_dbug"
-let $status_var= Rpl_semi_sync_master_clients;
-let $status_var_value= 0;
-source include/wait_for_status_var.inc;
---eval SET @@GLOBAL.rpl_semi_sync_master_enabled = 0
-show status like 'Rpl_semi_sync_master_status';
-
TRUNCATE TABLE t1;
--save_master_pos
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test
index 6c088c57..4ed9ca0a 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test
@@ -5,7 +5,7 @@
# This test validates that data is consistent between a primary and replica
# in semi-sync mode when the primary is issued `SHUTDOWN WAIT FOR SLAVES`
# during an active communication. More specifically, the primary should not
-# kill the connection until it is sure a replica has received all binlog
+# kill the Ack_thread until it is sure a replica has received all binlog
# data, i.e. once the primary receives the ACK. If a primary is issued a
# shutdown before receiving an ACK, it should wait until either 1) the ACK is
# received, or 2) the configured timeout (rpl_semi_sync_master_timeout) is
@@ -15,23 +15,18 @@
# Using a topology consisting of one primary with two replicas, all in
# semi-sync mode, we use DEBUG_DBUG to simulate an error or delay on the
# replicas during an active communication while the primary is issued
-# `SHUTDOWN WAIT FOR SLAVES`. We create four test cases to ensure the primary
-# will correctly wait for the communication to finish, and use the semi-sync
-# status variables Rpl_semi_sync_master_yes_tx and Rpl_semi_sync_master_no_tx
-# to ensure the connection was not prematurely killed due to the shutdown.
+# `SHUTDOWN WAIT FOR SLAVES`. We create four test cases to ensure the
+# Ack_thread is not prematurely killed due to the shutdown.
# Test Case 1) If both replicas simulate a delay that is within the allowed
-# timeout, the primary should delay killing the suspended thread
-# until an ACK is received (Rpl_semi_sync_master_yes_tx should
-# be 1).
+# timeout, the primary should delay killing the Ack_thread
+# until an ACK is received.
# Test Case 2) If both replicas simulate an error before sending an ACK, the
-# primary should delay killing the suspended thread until the
-# the timeout is reached (Rpl_semi_sync_master_no_tx should be
-# 1).
+# primary should delay killing the Ack_thread until the
+# the timeout is reached.
# Test Case 3) If one replica simulates a delay within the allowed timeout
# and the other simulates an error before sending an ACK, the
-# primary should delay killing the suspended thread until it
-# receives an ACK from the delayed slave
-# (Rpl_semi_sync_master_yes_tx should be 1).
+# primary should delay killing the Ack_thread until it
+# receives an ACK from the delayed slave.
# Test Case 4) If a replica errors before sending an ACK, it will cause the
# IO thread to stop and handle the error. During error handling,
# if semi-sync is active, the replica will form a new connection
@@ -41,9 +36,11 @@
# slave should notice this, and not issue a `QUIT` command to
# the primary, which would otherwise be sent to kill an active
# connection. This test case validates that the slave does not
-# send a `QUIT` in this case (Rpl_semi_sync_master_yes_tx should
-# be 1 because server_3 will send the ACK within a valid
-# timeout).
+# send a `QUIT` in this case.
+# Test Case 5) If a waiting-for-ACK user thread is killed (disconnected)
+# during SHUTDOWN WAIT FOR ALL SLAVES, ensure the primary will
+# still await the ACK from the replica before killing the
+# Ack_thread.
#
# References:
# MDEV-11853: semisync thread can be killed after sync binlog but before ACK
@@ -58,6 +55,7 @@
--echo # Note: Simulated slave delay is hardcoded to 800 milliseconds
--echo # Note: Simulated master shutdown delay is hardcoded to 500 milliseconds
+--source include/have_innodb.inc
--source include/have_debug.inc
--let $rpl_topology=1->2, 1->3
--source include/rpl_init.inc
@@ -69,9 +67,8 @@ call mtr.add_suppression("Timeout waiting");
call mtr.add_suppression("did not exit");
call mtr.add_suppression("Got an error reading communication packets");
---let $sav_master_timeout= `SELECT @@global.rpl_semi_sync_master_timeout`
+--let $sav_master_timeout= `SELECT @@GLOBAL.rpl_semi_sync_master_timeout`
--let $sav_enabled_master= `SELECT @@GLOBAL.rpl_semi_sync_master_enabled`
---let $sav_master_dbug= `SELECT @@GLOBAL.debug_dbug`
--echo # Suppress slave errors related to the simulated error
--connection server_2
@@ -79,19 +76,19 @@ call mtr.add_suppression("reply failed");
call mtr.add_suppression("Replication event checksum verification");
call mtr.add_suppression("Relay log write failure");
call mtr.add_suppression("Failed to kill the active semi-sync connection");
---let $sav_enabled_server_2=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled`
---let $sav_server_2_dbug= `SELECT @@GLOBAL.debug_dbug`
+set @sav_enabled_server_2= @@GLOBAL.rpl_semi_sync_slave_enabled;
+set @sav_server_2_dbug= @@GLOBAL.debug_dbug;
--connection server_3
call mtr.add_suppression("reply failed");
call mtr.add_suppression("Replication event checksum verification");
call mtr.add_suppression("Relay log write failure");
call mtr.add_suppression("Failed to kill the active semi-sync connection");
---let $sav_enabled_server_3=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled`
---let $sav_server_3_dbug= `SELECT @@GLOBAL.debug_dbug`
+set @sav_enabled_server_3= @@GLOBAL.rpl_semi_sync_slave_enabled;
+set @sav_server_3_dbug= @@GLOBAL.debug_dbug;
--connection server_1
-CREATE TABLE t1 (a int);
+CREATE TABLE t1 (a int) engine=innodb;
--save_master_pos
--let i= 2
@@ -113,10 +110,9 @@ while (`SELECT $i <= $slave_last`)
--echo #
--echo # Test Case 1) If both replicas simulate a delay that is within the
---echo # allowed timeout, the primary should delay killing the suspended thread
---echo # until an ACK is received (Rpl_semi_sync_master_yes_tx should be 1).
+--echo # allowed timeout, the primary should delay killing the Ack_thread
+--echo # until an ACK is received.
--echo #
---let server_1_dbug= ""
--let server_2_dbug= "+d,simulate_delay_semisync_slave_reply"
--let server_3_dbug= "+d,simulate_delay_semisync_slave_reply"
--let semisync_timeout= 1600
@@ -126,12 +122,11 @@ while (`SELECT $i <= $slave_last`)
--echo #
--echo # Test Case 2) If both replicas simulate an error before sending an ACK,
---echo # the primary should delay killing the suspended thread until the
---echo # timeout is reached (Rpl_semi_sync_master_no_tx should be 1).
+--echo # the primary should delay killing the Ack_thread until the
+--echo # timeout is reached.
--echo #
---let server_1_dbug= "+d,mysqld_delay_kill_threads_phase_1"
---let server_2_dbug= "+d,corrupt_queue_event"
---let server_3_dbug= "+d,corrupt_queue_event"
+--let server_2_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141"
+--let server_3_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141"
--let semisync_timeout= 500
--let server_2_expect_row_count= 0
--let server_3_expect_row_count= 0
@@ -140,11 +135,10 @@ while (`SELECT $i <= $slave_last`)
--echo #
--echo # Test Case 3) If one replica simulates a delay within the allowed
--echo # timeout and the other simulates an error before sending an ACK, the
---echo # primary should delay killing the suspended thread until it receives an
---echo # ACK from the delayed slave (Rpl_semi_sync_master_yes_tx should be 1).
+--echo # primary should delay killing the Ack_thread until it receives an
+--echo # ACK from the delayed slave.
--echo #
---let server_1_dbug= "+d,mysqld_delay_kill_threads_phase_1"
---let server_2_dbug= "+d,corrupt_queue_event"
+--let server_2_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141"
--let server_3_dbug= "+d,simulate_delay_semisync_slave_reply"
--let semisync_timeout= 1600
--let server_2_expect_row_count= 0
@@ -160,56 +154,123 @@ while (`SELECT $i <= $slave_last`)
--echo # active semi-sync connection in-tact. The slave should notice this, and
--echo # not issue a `QUIT` command to the primary, which would otherwise be
--echo # sent to kill an active connection. This test case validates that the
---echo # slave does not send a `QUIT` in this case (Rpl_semi_sync_master_yes_tx
---echo # should be 1 because server_3 will send the ACK within a valid timeout).
+--echo # slave does not send a `QUIT` in this case.
--echo #
-
-# mysqld_delay_kill_threads_phase1 ensures that server_2 will have enough time
-# to start a new connection that has the intent to kill the active semi-sync
-# connection
---let server_1_dbug= "+d,mysqld_delay_kill_threads_phase_1"
-
-# slave_delay_killing_semisync_connection ensures that the primary has force
-# killed its current connection before it is able to issue `KILL`
---let server_2_dbug= "+d,corrupt_queue_event,slave_delay_killing_semisync_connection"
+--let server_2_dbug= "+d,corrupt_queue_event,delay_semisync_kill_connection_for_mdev_28141"
--let server_3_dbug= "+d,simulate_delay_semisync_slave_reply"
--let semisync_timeout= 1600
--let server_2_expect_row_count= 0
--let server_3_expect_row_count= 1
--source rpl_semi_sync_shutdown_await_ack.inc
+#
+# Added with MDEV-33551
+#
+--echo #
+--echo # Test Case 5) If a waiting-for-ACK user thread is killed (disconnected)
+--echo # during SHUTDOWN WAIT FOR ALL SLAVES, ensure the primary will still
+--echo # await the ACK from the replica before killing the Ack_receiver thread
+--echo #
+--connection server_1
+insert into t1 values (1);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+SET GLOBAL rpl_semi_sync_slave_enabled= 1;
+--source include/start_slave.inc
+
+--connection server_1
+SET GLOBAL rpl_semi_sync_master_enabled= 1;
+SET GLOBAL rpl_semi_sync_master_timeout= 2000;
+
+--let $status_var= Rpl_semi_sync_master_clients
+--let $status_var_value= 1
+source include/wait_for_status_var.inc;
+
+show status like 'Rpl_semi_sync_master_status';
+show status like 'Rpl_semi_sync_master_clients';
+
+--connection server_2
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,simulate_delay_semisync_slave_reply";
+
+--connect(con1, localhost, root,,)
+--connect(con2, localhost, root,,)
+
+--connection con1
+--send insert into t1 values (2)
+
+--connection server_1
+--echo # Wait for thd to begin semi-sync wait..
+--let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist WHERE state = 'Waiting for semi-sync ACK from slave'
+--source include/wait_condition.inc
+--echo # ..done
+
+--disconnect con1
+
+--connection default
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+--connection con2
+SHUTDOWN WAIT FOR ALL SLAVES;
+--source include/wait_until_disconnected.inc
+
+--echo # Ensure the primary waited for the ACK of the killed thread
+--let $SEARCH_PATTERN= Delaying shutdown to await semi-sync ACK
+--let $SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err
+--source include/search_pattern_in_file.inc
+
+--connection default
+--source include/wait_until_disconnected.inc
+
+--connection server_1
+--source include/wait_until_disconnected.inc
+
+--connection server_2
+--let $rpl_allow_error= 1
+source include/stop_slave.inc;
+--connection server_3
+source include/stop_slave.inc;
+--let $rpl_allow_error=
+
+--connection default
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+
--echo #############################
--echo # Cleanup
--echo #############################
--connection server_2
-source include/stop_slave.inc;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = @sav_enabled_server_2;
+SET @@GLOBAL.debug_dbug= @sav_server_2_dbug;
source include/start_slave.inc;
---disable_query_log
---eval SET @@GLOBAL.rpl_semi_sync_slave_enabled = $sav_enabled_server_2
---eval SET @@GLOBAL.debug_dbug= "$sav_server_2_dbug"
---enable_query_log
-
--connection server_3
-source include/stop_slave.inc;
+SET @@GLOBAL.rpl_semi_sync_slave_enabled = @sav_enabled_server_3;
+SET @@GLOBAL.debug_dbug= @sav_server_3_dbug;
source include/start_slave.inc;
---disable_query_log
---eval SET @@GLOBAL.rpl_semi_sync_slave_enabled = $sav_enabled_server_3
---eval SET @@GLOBAL.debug_dbug= "$sav_server_3_dbug"
---enable_query_log
-
-
--connection server_1
let $status_var= Rpl_semi_sync_master_clients;
let $status_var_value= 0;
source include/wait_for_status_var.inc;
--disable_query_log
---eval SET @@GLOBAL.rpl_semi_sync_master_timeout= $sav_master_timeout
---eval SET @@GLOBAL.rpl_semi_sync_master_enabled= $sav_enabled_master
---eval SET @@GLOBAL.debug_dbug= "$sav_master_dbug"
+--eval SET @@GLOBAL.rpl_semi_sync_master_timeout= $sav_master_timeout;
+--eval SET @@GLOBAL.rpl_semi_sync_master_enabled= $sav_enabled_master;
--enable_query_log
drop table t1;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_slave_enabled_consistent.test b/mysql-test/suite/rpl/t/rpl_semi_sync_slave_enabled_consistent.test
index 9e388ab4..ca7e7887 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_slave_enabled_consistent.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_slave_enabled_consistent.test
@@ -14,6 +14,9 @@
call mtr.add_suppression("Replication event checksum verification failed");
call mtr.add_suppression("could not queue event from master");
+call mtr.add_suppression("Semisync ack receiver.*error reading communication packets");
+call mtr.add_suppression("Semisync ack receiver got hangup");
+--sync_slave_with_master
--echo #
--echo # Set up a semisync connection
diff --git a/mysql-test/suite/rpl/t/rpl_show_slave_status.test b/mysql-test/suite/rpl/t/rpl_show_slave_status.test
new file mode 100644
index 00000000..f4bbb5fa
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_show_slave_status.test
@@ -0,0 +1,27 @@
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+--echo *
+--echo * The purpose of this test is to prevent incorrect additions to SHOW
+--echo * SLAVE STATUS, which has happened several times in the past.
+--echo *
+--echo * We must never, _ever_, add extra rows to this output of SHOW SLAVE
+--echo * STATUS, except at the very end, as this breaks backwards compatibility
+--echo * with applications or scripts that parse the output. This also means that
+--echo * we cannot add _any_ new rows in a GA version if a different row was
+--echo * already added in a later MariaDB version, as this would make it impossible
+--echo * to merge the change up while preserving the order of rows.
+--echo *
+
+--connection slave
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 11 # 12 # 13 # 14 # 15 # 16 # 17 # 18 # 19 # 20 # 21 # 22 # 23 # 24 # 25 # 26 # 27 # 28 # 29 # 30 # 31 # 32 # 33 # 34 # 35 # 36 # 37 # 38 # 39 # 40 # 41 # 42 # 43 # 44 # 45 # 46 # 47 # 48 # 49 # 50 # 51 # 52 # 53 # 54 #
+query_vertical
+SHOW SLAVE STATUS;
+
+--echo *
+--echo * When modifying this test after adding a column to SHOW SLAVE STATUS,
+--echo * _only_ additions at the end are allowed, the column number of existing
+--echo * columns must _not_ change!
+--echo *
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_shutdown_sighup.test b/mysql-test/suite/rpl/t/rpl_shutdown_sighup.test
new file mode 100644
index 00000000..d1940f81
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_shutdown_sighup.test
@@ -0,0 +1,154 @@
+#
+# The signal handler thread can use various different runtime resources when
+# processing a SIGHUP (e.g. master-info information), as the logic calls into
+# reload_acl_and_cache(). This test ensures that SIGHUP processing, when
+# concurrent with server shutdown, the shutdown logic must wait for the SIGHUP
+# processing to finish before cleaning up any resources.
+#
+# Additionally, the error case is tested such that the signal handler thread
+# takes too long processing a SIGHUP, and the main mysqld thread must skip its
+# wait and output a warning.
+#
+# Note the SIGHUP is sent via the command-line kill program via a perl script.
+#
+# References:
+# MDEV-30260: Slave crashed:reload_acl_and_cache during shutdown
+#
+
+--source include/not_windows.inc
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+# Binlog format doesn't matter
+--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
+
+# For error test case which forces timeout
+--connection slave
+set statement sql_log_bin=0 for call mtr.add_suppression("Signal handler thread did not exit in a timely manner");
+
+
+--echo #
+--echo # Main test
+--connection master
+create table t1 (a int);
+insert into t1 values (1);
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/sync_with_master_gtid.inc
+
+# Make signal handler handle SIGHUP..
+set @@global.debug_dbug= "+d,hold_sighup_log_refresh";
+--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
+--perl
+ my $kill_sig = $ENV{'KILL_SIGNAL_VALUE'};
+ my $pid_filename = $ENV{'KILL_NODE_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -HUP $mysqld_pid");
+ exit(0);
+EOF
+
+--echo # Waiting for sighup to reach reload_acl_and_cache..
+set debug_sync="now wait_for in_reload_acl_and_cache";
+--echo # Signalling signal handler to proceed to sleep before REFRESH_HOSTS
+set debug_sync="now signal refresh_logs";
+
+# ..while we are shutting down
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--echo # Starting shutdown (note this will take 3+ seconds due to DBUG my_sleep in reload_acl_and_cache)
+shutdown;
+
+--source include/wait_until_disconnected.inc
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--connection server_2
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection slave
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--let $assert_text= Ensure Mariadbd did not segfault when shutting down
+--let $assert_select= got signal 11
+--let $assert_file= $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_count= 0
+--let $assert_only_after = CURRENT_TEST: rpl.rpl_shutdown_sighup
+--source include/assert_grep.inc
+
+--connection master
+--sync_slave_with_master
+
+
+--echo #
+--echo # Error testcase to ensure an error message is shown if the signal
+--echo # takes longer than the timeout while processing the SIGHUP
+
+--connection slave
+set @@global.debug_dbug= "+d,force_sighup_processing_timeout";
+set @@global.debug_dbug= "+d,hold_sighup_log_refresh";
+
+--connection master
+insert into t1 values (1);
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/sync_with_master_gtid.inc
+
+# Make signal handler handle SIGHUP..
+--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
+--perl
+ my $kill_sig = $ENV{'KILL_SIGNAL_VALUE'};
+ my $pid_filename = $ENV{'KILL_NODE_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -HUP $mysqld_pid");
+ exit(0);
+EOF
+--echo # Waiting for sighup to reach reload_acl_and_cache..
+set debug_sync="now wait_for in_reload_acl_and_cache";
+--echo # Signalling signal handler to proceed to sleep before REFRESH_HOSTS
+set debug_sync="now signal refresh_logs";
+
+# ..while we are shutting down
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--echo # Starting shutdown (note this will take 3+ seconds due to DBUG my_sleep in reload_acl_and_cache)
+shutdown;
+
+--source include/wait_until_disconnected.inc
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--connection server_2
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection slave
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--let $assert_text= Ensure warning is issued that signal handler thread is still processing
+--let $assert_select= Signal handler thread did not exit in a timely manner.
+--let $assert_file= $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_count= 1
+--let $assert_only_after = CURRENT_TEST: rpl.rpl_shutdown_sighup
+--source include/assert_grep.inc
+
+
+--echo #
+--echo # Cleanup
+--connection master
+drop table t1;
+
+--source include/rpl_end.inc
+--echo # End of rpl_shutdown_sighup.test
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
index d3ef834e..ee11ce5a 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test
@@ -3,7 +3,11 @@
# Verify that --slave-skip-errors works correctly. The error messages
# specified by --slave-skip-errors on slave should be ignored. If
# such errors occur, they should not be reported and not cause the
-# slave to stop.
+# slave to stop. If a skipped-due-to-error statement is a part of a
+# larger transaction, and the error is not a deadlock error, the rest
+# of the transaction should still commit, with just the errored statement
+# ignored (note transactions which are skipped due to deadlocks are
+# rolled back fully, see rpl_temporary_error2_skip_all.test).
#
# ==== Method ====
#
@@ -164,6 +168,42 @@ let $current_skipped_error= query_get_value(show global status like "Slave_skipp
--echo **** We cannot execute a select as there are differences in the
--echo **** behavior between STMT and RBR.
+
+--echo ****
+--echo **** Ensure transactions which are skipped due to encountering a
+--echo **** non-deadlock error which is present in --slave-skip-errors result
+--echo **** in partially committed transactions
+# Slave will insert 3 first, and master will insert 3 within a larger trx
+--let $value_preexisting_on_slave= 3
+
+--connection master
+CREATE TABLE t3 (a INT UNIQUE) ENGINE=InnoDB;
+
+--sync_slave_with_master
+--connection slave
+--eval INSERT INTO t3 VALUES ($value_preexisting_on_slave)
+
+--connection master
+BEGIN;
+INSERT INTO t3 VALUES (1);
+INSERT INTO t3 VALUES (2);
+--eval INSERT INTO t3 VALUES ($value_preexisting_on_slave)
+INSERT INTO t3 VALUES (4);
+COMMIT;
+--sync_slave_with_master
+
+--echo **** Master and slave tables should have the same data, due to the
+--echo **** partially replicated transaction's data overlapping with the data
+--echo **** that pre-existed on the slave. That is, despite the transaction
+--echo **** consisting of 4 statements, the errored statement should be ignored
+--echo **** and the other 3 should commit successfully.
+let $diff_tables=master:t3,slave:t3;
+source include/diff_tables.inc;
+
+--connection master
+DROP TABLE t3;
+
+
--echo ==== Clean Up ====
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_sync.test b/mysql-test/suite/rpl/t/rpl_sync.test
index 1e2ec2ca..3dd99e73 100644
--- a/mysql-test/suite/rpl/t/rpl_sync.test
+++ b/mysql-test/suite/rpl/t/rpl_sync.test
@@ -82,7 +82,7 @@ print FILE "failure";
close ($file);
EOF
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
--error 2013
FLUSH LOGS;
@@ -130,7 +130,7 @@ print FILE @content;
close FILE;
EOF
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
--error 2013
FLUSH LOGS;
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_error2.test b/mysql-test/suite/rpl/t/rpl_temporary_error2.test
index 49194c5d..3537499d 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary_error2.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary_error2.test
@@ -64,7 +64,14 @@ ROLLBACK;
--connection slave
--sync_with_master
SELECT * FROM t1 ORDER BY a;
---echo * There will be two rows in t2 due to the retry.
+if (!$ignored_db_deadlock)
+{
+ --echo * There will be two rows in t2 due to the retry.
+}
+if ($ignored_db_deadlock)
+{
+ --echo * There will be one row in t2 because the ignored deadlock does not retry.
+}
SELECT * FROM t2 ORDER BY a;
let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
--disable_query_log
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all-slave.opt b/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all-slave.opt
new file mode 100644
index 00000000..a9ddd735
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all-slave.opt
@@ -0,0 +1 @@
+--slave-skip-errors=all
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all.test b/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all.test
new file mode 100644
index 00000000..6801bf18
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporary_error2_skip_all.test
@@ -0,0 +1,3 @@
+--source include/have_binlog_format_row.inc
+--let $ignored_db_deadlock= 1
+--source rpl_temporary_error2.test
diff --git a/mysql-test/suite/rpl/t/rpl_using_gtid_default.test b/mysql-test/suite/rpl/t/rpl_using_gtid_default.test
index c14695f9..1557fcdc 100644
--- a/mysql-test/suite/rpl/t/rpl_using_gtid_default.test
+++ b/mysql-test/suite/rpl/t/rpl_using_gtid_default.test
@@ -42,10 +42,9 @@
# replication is used by default if master supports it
#
--source include/have_debug.inc
---source include/master-slave.inc
-
# Format independent test so just use one
--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
--echo #
--echo # Slave default configuration should be Slave_Pos
diff --git a/mysql-test/suite/rpl/t/show_status_stop_slave_race-7126.test b/mysql-test/suite/rpl/t/show_status_stop_slave_race-7126.test
index cd0f8aad..815b2537 100644
--- a/mysql-test/suite/rpl/t/show_status_stop_slave_race-7126.test
+++ b/mysql-test/suite/rpl/t/show_status_stop_slave_race-7126.test
@@ -3,7 +3,10 @@
#
--source include/master-slave.inc
+--disable_query_log
call mtr.add_suppression("Master is configured to log replication events");
+call mtr.add_suppression("Could not read packet:.* errno: 11");
+--enable_query_log
--connection slave
diff --git a/mysql-test/suite/s3/mysqldump.result b/mysql-test/suite/s3/mysqldump.result
index 3f4c2081..e0c0caf6 100644
--- a/mysql-test/suite/s3/mysqldump.result
+++ b/mysql-test/suite/s3/mysqldump.result
@@ -4,6 +4,7 @@ alter table t1 engine=S3;
#####
# mysqldump with --copy-s3-tables=0 (by default)
###
+/*!999999\- enable the sandbox mode */
#####
# mysqldump with --copy-s3-tables=0 (by default) XML
###
@@ -15,6 +16,7 @@ alter table t1 engine=S3;
#####
# mysqldump with --copy-s3-tables=1
###
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
diff --git a/mysql-test/suite/s3/partition.result b/mysql-test/suite/s3/partition.result
index 9face3ec..20530bd3 100644
--- a/mysql-test/suite/s3/partition.result
+++ b/mysql-test/suite/s3/partition.result
@@ -55,8 +55,6 @@ ERROR HY000: Table 't2' is read only
ALTER TABLE t2 ANALYZE PARTITION p3;
Table Op Msg_type Msg_text
s3.t2 analyze status Table 's3.t2' is read only
-s3.t2 analyze status Engine-independent statistics collected
-s3.t2 analyze status OK
SELECT count(*) FROM t2;
count(*)
6
diff --git a/mysql-test/suite/sql_sequence/mysqldump.result b/mysql-test/suite/sql_sequence/mysqldump.result
index 0199bb71..72828043 100644
--- a/mysql-test/suite/sql_sequence/mysqldump.result
+++ b/mysql-test/suite/sql_sequence/mysqldump.result
@@ -3,6 +3,7 @@ CREATE TABLE t1(a INT, KEY (a)) KEY_BLOCK_SIZE=1024;
insert into t1 values (1),(2);
CREATE SEQUENCE x1 engine=innodb;
# dump whole database
+/*!999999\- enable the sandbox mode */
CREATE SEQUENCE `a1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=Aria;
SELECT SETVAL(`a1`, 1, 0);
CREATE SEQUENCE `x1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;
@@ -18,6 +19,7 @@ INSERT INTO `t1` VALUES
(1),
(2);
# dump by tables order 1
+/*!999999\- enable the sandbox mode */
CREATE SEQUENCE `a1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=Aria;
SELECT SETVAL(`a1`, 1, 0);
CREATE SEQUENCE `x1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;
@@ -33,6 +35,7 @@ INSERT INTO `t1` VALUES
(1),
(2);
# dump by tables order 2
+/*!999999\- enable the sandbox mode */
CREATE SEQUENCE `a1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=Aria;
SELECT SETVAL(`a1`, 1, 0);
CREATE SEQUENCE `x1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;
@@ -48,6 +51,7 @@ INSERT INTO `t1` VALUES
(1),
(2);
# dump by tables only tables
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
@@ -59,6 +63,7 @@ INSERT INTO `t1` VALUES
(1),
(2);
# dump by tables only sequences
+/*!999999\- enable the sandbox mode */
CREATE SEQUENCE `a1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=Aria;
SELECT SETVAL(`a1`, 1, 0);
CREATE SEQUENCE `x1` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;
diff --git a/mysql-test/suite/sys_vars/r/debug_dbug_utf16le.result b/mysql-test/suite/sys_vars/r/debug_dbug_utf16le.result
new file mode 100644
index 00000000..83b378f2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/debug_dbug_utf16le.result
@@ -0,0 +1,31 @@
+#
+# Start of 10.5 tests
+#
+#
+# MDEV-28366 GLOBAL debug_dbug setting affected by collation_connection=utf16...
+#
+SET NAMES utf8;
+SET collation_connection=utf16le_general_ci;
+SET debug_dbug='d,any_random_string';
+SELECT @@debug_dbug;
+@@debug_dbug
+d,any_random_string
+SET debug_dbug=CONCAT('d,', _latin1 0xDF);
+SELECT @@debug_dbug;
+@@debug_dbug
+d,ß
+SELECT HEX(@@debug_dbug);
+HEX(@@debug_dbug)
+642CC39F
+SET @@debug_dbug=NULL;
+SELECT @@debug_dbug;
+@@debug_dbug
+
+SET @@debug_dbug=DEFAULT;
+SELECT @@debug_dbug;
+@@debug_dbug
+
+SET NAMES latin1;
+#
+# End of 10.5 tests
+#
diff --git a/mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result
index 477eb7fc..db0de5e3 100644
--- a/mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result
@@ -22,7 +22,4 @@ Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be
set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
-# Must always be 0.
-SELECT @@global.innodb_fil_make_page_dirty_debug;
-@@global.innodb_fil_make_page_dirty_debug
-0
+set global innodb_fil_make_page_dirty_debug = 0;
diff --git a/mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result
index b306749d..2096e65f 100644
--- a/mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result
@@ -23,6 +23,7 @@ set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
SELECT @@global.innodb_saved_page_number_debug;
@@global.innodb_saved_page_number_debug
0
diff --git a/mysql-test/suite/sys_vars/r/replicate_rewrite_db.result b/mysql-test/suite/sys_vars/r/replicate_rewrite_db.result
index 2dfe3a65..7a15a270 100644
--- a/mysql-test/suite/sys_vars/r/replicate_rewrite_db.result
+++ b/mysql-test/suite/sys_vars/r/replicate_rewrite_db.result
@@ -85,15 +85,13 @@ SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate
VARIABLE_NAME VARIABLE_VALUE
REPLICATE_REWRITE_DB db1->db2,db3->db4
# Check restart with appending the value
-# restart: --replicate_rewrite_db=X->Y
+# restart: --replicate_rewrite_db='X->Y'
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
-test->rewrite,mysqltest1->test,a->b,X->Y
+test->rewrite,mysqltest1->test,a->b,'X->Y'
# Check restart with wrong value on CLI
[ERROR] Bad syntax in replicate-rewrite-db.Expected syntax is FROM->TO.
-# restart:
+# restart
SELECT @@GLOBAL.replicate_rewrite_db;
@@GLOBAL.replicate_rewrite_db
test->rewrite,mysqltest1->test,a->b
-# Cleanup.
-SET @@GLOBAL.replicate_rewrite_db = @save_replicate_rewrite_db;
diff --git a/mysql-test/suite/sys_vars/r/slave_transaction_retry_errors.result b/mysql-test/suite/sys_vars/r/slave_transaction_retry_errors.result
index 72b40415..43988a81 100644
--- a/mysql-test/suite/sys_vars/r/slave_transaction_retry_errors.result
+++ b/mysql-test/suite/sys_vars/r/slave_transaction_retry_errors.result
@@ -1,20 +1,20 @@
select @@global.slave_transaction_retry_errors;
@@global.slave_transaction_retry_errors
-1158,1159,1160,1161,1205,1213,1429,2013,12701,10,20,5000,400
+1158,1159,1160,1161,1205,1213,1020,1429,2013,12701,10,20,5000,400
select @@session.slave_transaction_retry_errors;
ERROR HY000: Variable 'slave_transaction_retry_errors' is a GLOBAL variable
show global variables like 'slave_transaction_retry_errors';
Variable_name Value
-slave_transaction_retry_errors 1158,1159,1160,1161,1205,1213,1429,2013,12701,10,20,5000,400
+slave_transaction_retry_errors 1158,1159,1160,1161,1205,1213,1020,1429,2013,12701,10,20,5000,400
show session variables like 'slave_transaction_retry_errors';
Variable_name Value
-slave_transaction_retry_errors 1158,1159,1160,1161,1205,1213,1429,2013,12701,10,20,5000,400
+slave_transaction_retry_errors 1158,1159,1160,1161,1205,1213,1020,1429,2013,12701,10,20,5000,400
select * from information_schema.global_variables where variable_name='slave_transaction_retry_errors';
VARIABLE_NAME VARIABLE_VALUE
-SLAVE_TRANSACTION_RETRY_ERRORS 1158,1159,1160,1161,1205,1213,1429,2013,12701,10,20,5000,400
+SLAVE_TRANSACTION_RETRY_ERRORS 1158,1159,1160,1161,1205,1213,1020,1429,2013,12701,10,20,5000,400
select * from information_schema.session_variables where variable_name='slave_transaction_retry_errors';
VARIABLE_NAME VARIABLE_VALUE
-SLAVE_TRANSACTION_RETRY_ERRORS 1158,1159,1160,1161,1205,1213,1429,2013,12701,10,20,5000,400
+SLAVE_TRANSACTION_RETRY_ERRORS 1158,1159,1160,1161,1205,1213,1020,1429,2013,12701,10,20,5000,400
set global slave_transaction_retry_errors=1;
ERROR HY000: Variable 'slave_transaction_retry_errors' is a read only variable
set session slave_transaction_retry_errors=1;
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
index 9ae5049b..81db8629 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
@@ -1,4 +1,6 @@
-@@ -49,7 +49,7 @@
+--- sysvars_innodb.result
++++ sysvars_innodb.result,32bit
+@@ -47,7 +47,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 8
VARIABLE_SCOPE GLOBAL
@@ -7,7 +9,7 @@
VARIABLE_COMMENT Number of InnoDB Adaptive Hash Index Partitions (default 8)
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 512
-@@ -73,7 +73,7 @@
+@@ -71,7 +71,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -16,7 +18,7 @@
VARIABLE_COMMENT The AUTOINC lock modes supported by InnoDB: 0 => Old style AUTOINC locking (for backward compatibility); 1 => New style AUTOINC locking; 2 => No AUTOINC locking (unsafe for SBR)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 2
-@@ -85,10 +85,10 @@
+@@ -83,10 +83,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -29,7 +31,7 @@
NUMERIC_BLOCK_SIZE 1048576
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -121,7 +121,7 @@
+@@ -119,7 +119,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 25
VARIABLE_SCOPE GLOBAL
@@ -38,7 +40,7 @@
VARIABLE_COMMENT Dump only the hottest N% of each buffer pool, defaults to 25
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 100
-@@ -205,7 +205,7 @@
+@@ -203,7 +203,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -47,7 +49,7 @@
VARIABLE_COMMENT A number between [0, 100] that tells how oftern buffer pool dump status in percentages should be printed. E.g. 10 means that buffer pool dump status is printed when every 10% of number of buffer pool pages are dumped. Default is 0 (only start and end status is printed).
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 100
-@@ -325,7 +325,7 @@
+@@ -323,7 +323,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 5
VARIABLE_SCOPE GLOBAL
@@ -56,7 +58,7 @@
VARIABLE_COMMENT If the compression failure rate of a table is greater than this number more padding is added to the pages to reduce the failures. A value of zero implies no padding
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 100
-@@ -349,7 +349,7 @@
+@@ -347,7 +347,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 50
VARIABLE_SCOPE GLOBAL
@@ -65,7 +67,7 @@
VARIABLE_COMMENT Percentage of empty space on a data page that can be reserved to make the page compressible.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 75
-@@ -625,7 +625,7 @@
+@@ -623,7 +623,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 600
VARIABLE_SCOPE GLOBAL
@@ -74,7 +76,7 @@
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -673,7 +673,7 @@
+@@ -671,7 +671,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 30
VARIABLE_SCOPE GLOBAL
@@ -83,7 +85,7 @@
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1000
-@@ -697,7 +697,7 @@
+@@ -695,7 +695,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -92,7 +94,7 @@
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 3
-@@ -721,7 +721,7 @@
+@@ -719,7 +719,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -101,7 +103,7 @@
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 2
-@@ -757,7 +757,7 @@
+@@ -755,7 +755,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -110,7 +112,7 @@
VARIABLE_COMMENT Helps to save your data in case the disk image of the database becomes corrupt. Value 5 can return bogus data, and 6 can permanently corrupt data.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 6
-@@ -781,10 +781,10 @@
+@@ -779,10 +779,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 8000000
VARIABLE_SCOPE GLOBAL
@@ -123,7 +125,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -817,7 +817,7 @@
+@@ -815,7 +815,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 84
VARIABLE_SCOPE GLOBAL
@@ -132,7 +134,7 @@
VARIABLE_COMMENT InnoDB Fulltext search maximum token size in characters
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 84
-@@ -829,7 +829,7 @@
+@@ -827,7 +827,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 3
VARIABLE_SCOPE GLOBAL
@@ -141,7 +143,7 @@
VARIABLE_COMMENT InnoDB Fulltext search minimum token size in characters
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 16
-@@ -841,7 +841,7 @@
+@@ -839,7 +839,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2000
VARIABLE_SCOPE GLOBAL
@@ -150,7 +152,7 @@
VARIABLE_COMMENT InnoDB Fulltext search number of words to optimize for each optimize table call
NUMERIC_MIN_VALUE 1000
NUMERIC_MAX_VALUE 10000
-@@ -853,10 +853,10 @@
+@@ -851,10 +851,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2000000000
VARIABLE_SCOPE GLOBAL
@@ -163,7 +165,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -877,7 +877,7 @@
+@@ -875,7 +875,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2
VARIABLE_SCOPE GLOBAL
@@ -172,7 +174,7 @@
VARIABLE_COMMENT InnoDB Fulltext search parallel sort degree, will round up to nearest power of 2 number
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 16
-@@ -889,10 +889,10 @@
+@@ -887,10 +887,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 640000000
VARIABLE_SCOPE GLOBAL
@@ -185,7 +187,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -937,22 +937,22 @@
+@@ -935,22 +935,22 @@
SESSION_VALUE NULL
DEFAULT_VALUE 200
VARIABLE_SCOPE GLOBAL
@@ -213,20 +215,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -985,10 +985,10 @@
- SESSION_VALUE NULL
- DEFAULT_VALUE 16777216
- VARIABLE_SCOPE GLOBAL
--VARIABLE_TYPE BIGINT UNSIGNED
-+VARIABLE_TYPE INT UNSIGNED
- VARIABLE_COMMENT Redo log buffer size in bytes.
- NUMERIC_MIN_VALUE 2097152
--NUMERIC_MAX_VALUE 18446744073709551615
-+NUMERIC_MAX_VALUE 4294967295
- NUMERIC_BLOCK_SIZE 4096
- ENUM_VALUE_LIST NULL
- READ_ONLY YES
-@@ -1033,10 +1033,10 @@
+@@ -1043,10 +1043,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 32
VARIABLE_SCOPE GLOBAL
@@ -239,7 +228,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1045,10 +1045,10 @@
+@@ -1055,10 +1055,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1536
VARIABLE_SCOPE GLOBAL
@@ -252,7 +241,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1081,10 +1081,10 @@
+@@ -1091,10 +1091,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -265,7 +254,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1093,7 +1093,7 @@
+@@ -1103,7 +1103,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -274,7 +263,7 @@
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 10000000
-@@ -1225,10 +1225,10 @@
+@@ -1235,10 +1235,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -287,7 +276,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -1249,7 +1249,7 @@
+@@ -1259,7 +1259,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 16384
VARIABLE_SCOPE GLOBAL
@@ -296,7 +285,7 @@
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 65536
-@@ -1285,7 +1285,7 @@
+@@ -1295,7 +1295,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1000
VARIABLE_SCOPE GLOBAL
@@ -305,7 +294,7 @@
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 5000
-@@ -1297,7 +1297,7 @@
+@@ -1307,7 +1307,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 128
VARIABLE_SCOPE GLOBAL
@@ -314,7 +303,7 @@
VARIABLE_COMMENT Deprecated parameter with no effect
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 128
-@@ -1333,7 +1333,7 @@
+@@ -1343,7 +1343,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 56
VARIABLE_SCOPE GLOBAL
@@ -323,7 +312,7 @@
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 64
-@@ -1405,7 +1405,7 @@
+@@ -1427,7 +1427,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1048576
VARIABLE_SCOPE GLOBAL
@@ -332,7 +321,7 @@
VARIABLE_COMMENT Memory buffer size for index creation
NUMERIC_MIN_VALUE 65536
NUMERIC_MAX_VALUE 67108864
-@@ -1573,10 +1573,10 @@
+@@ -1595,10 +1595,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 30
VARIABLE_SCOPE GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
index e0ce1f69..6a7e184f 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
@@ -983,10 +983,10 @@ VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 16777216
VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_TYPE INT UNSIGNED
VARIABLE_COMMENT Redo log buffer size in bytes.
NUMERIC_MIN_VALUE 2097152
-NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_MAX_VALUE 2147479552
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY YES
@@ -1027,6 +1027,18 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOG_SPIN_WAIT_DELAY
+SESSION_VALUE NULL
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Delay between log buffer spin lock polls (0 to use a blocking latch)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 6000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_LRU_FLUSH_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 32
@@ -1399,6 +1411,18 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SNAPSHOT_ISOLATION
+SESSION_VALUE OFF
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use snapshot isolation (write-write conflict detection).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_SORT_BUFFER_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 1048576
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
index 96e1c92c..b58d18fb 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
@@ -2324,12 +2324,12 @@ READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_ADJUST_SECONDARY_KEY_COSTS
VARIABLE_SCOPE SESSION
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT 0 = No changes. 1 = Update secondary key costs for ranges to be at least 5x of clustered primary key costs. 2 = Remove 'max_seek optimization' for secondary keys and slight adjustment of filter cost. This option will be deleted in MariaDB 11.0 as it is not needed with the new 11.0 optimizer.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 2
-NUMERIC_BLOCK_SIZE 1
-ENUM_VALUE_LIST NULL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT A bit field with the following values: adjust_secondary_key_cost = Update secondary key costs for ranges to be at least 5x of clustered primary key costs. disable_max_seek = Disable 'max_seek optimization' for secondary keys and slight adjustment of filter cost. disable_forced_index_in_group_by = Disable automatic forced index in GROUP BY. This variable will be deleted in MariaDB 11.0 as it is not needed with the new 11.0 optimizer.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST adjust_secondary_key_cost,disable_max_seek,disable_forced_index_in_group_by
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_EXTRA_PRUNING_DEPTH
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
index 4e79d858..2c31e5f5 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
@@ -2494,12 +2494,12 @@ READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_ADJUST_SECONDARY_KEY_COSTS
VARIABLE_SCOPE SESSION
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT 0 = No changes. 1 = Update secondary key costs for ranges to be at least 5x of clustered primary key costs. 2 = Remove 'max_seek optimization' for secondary keys and slight adjustment of filter cost. This option will be deleted in MariaDB 11.0 as it is not needed with the new 11.0 optimizer.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 2
-NUMERIC_BLOCK_SIZE 1
-ENUM_VALUE_LIST NULL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT A bit field with the following values: adjust_secondary_key_cost = Update secondary key costs for ranges to be at least 5x of clustered primary key costs. disable_max_seek = Disable 'max_seek optimization' for secondary keys and slight adjustment of filter cost. disable_forced_index_in_group_by = Disable automatic forced index in GROUP BY. This variable will be deleted in MariaDB 11.0 as it is not needed with the new 11.0 optimizer.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST adjust_secondary_key_cost,disable_max_seek,disable_forced_index_in_group_by
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_EXTRA_PRUNING_DEPTH
diff --git a/mysql-test/suite/sys_vars/t/allow_suspicious_udfs.test b/mysql-test/suite/sys_vars/t/allow_suspicious_udfs.test
index 9179cfbe..f5645e01 100644
--- a/mysql-test/suite/sys_vars/t/allow_suspicious_udfs.test
+++ b/mysql-test/suite/sys_vars/t/allow_suspicious_udfs.test
@@ -5,10 +5,10 @@
SELECT @@allow_suspicious_udfs AS EXPECT_0;
# Restart the server the server with "--allow-suspicious-udfs" option
---let $restart_parameters = "--allow-suspicious-udfs"
+--let $restart_parameters = --allow-suspicious-udfs
--source include/restart_mysqld.inc
SELECT @@allow_suspicious_udfs AS EXPECT_1;
# Disable "--allow-suspicious-udfs" to restore the original state
---let $restart_parameters = "--skip-allow-suspicious-udfs"
+--let $restart_parameters = --skip-allow-suspicious-udfs
--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/sys_vars/t/debug_dbug_utf16le.test b/mysql-test/suite/sys_vars/t/debug_dbug_utf16le.test
new file mode 100644
index 00000000..0c4d8f92
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/debug_dbug_utf16le.test
@@ -0,0 +1,29 @@
+--source include/have_debug.inc
+--source include/have_utf16.inc
+
+--echo #
+--echo # Start of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-28366 GLOBAL debug_dbug setting affected by collation_connection=utf16...
+--echo #
+
+SET NAMES utf8;
+SET collation_connection=utf16le_general_ci;
+SET debug_dbug='d,any_random_string';
+SELECT @@debug_dbug;
+SET debug_dbug=CONCAT('d,', _latin1 0xDF);
+SELECT @@debug_dbug;
+SELECT HEX(@@debug_dbug);
+
+SET @@debug_dbug=NULL;
+SELECT @@debug_dbug;
+
+SET @@debug_dbug=DEFAULT;
+SELECT @@debug_dbug;
+SET NAMES latin1;
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
diff --git a/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
index 396d30c7..8bc7bd2d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
@@ -31,6 +31,4 @@ set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
---echo # Must always be 0.
-SELECT @@global.innodb_fil_make_page_dirty_debug;
-
+set global innodb_fil_make_page_dirty_debug = 0;
diff --git a/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
index d0996ae9..29b84518 100644
--- a/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
@@ -32,6 +32,7 @@ set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
SELECT @@global.innodb_saved_page_number_debug;
diff --git a/mysql-test/suite/sys_vars/t/replicate_rewrite_db.test b/mysql-test/suite/sys_vars/t/replicate_rewrite_db.test
index 7fbaab1f..5a9537f1 100644
--- a/mysql-test/suite/sys_vars/t/replicate_rewrite_db.test
+++ b/mysql-test/suite/sys_vars/t/replicate_rewrite_db.test
@@ -63,7 +63,7 @@ SELECT @@GLOBAL.replicate_rewrite_db;
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_rewrite_db';
--echo # Check restart with appending the value
---let $restart_parameters = "--replicate_rewrite_db='X->Y'"
+--let $restart_parameters = --replicate_rewrite_db='X->Y'
--source include/restart_mysqld.inc
SELECT @@GLOBAL.replicate_rewrite_db;
@@ -76,9 +76,6 @@ SELECT @@GLOBAL.replicate_rewrite_db;
--replace_regex /mysqld/mariadbd/ /\d\d\d\d-\d*-\d* *\d*:\d*:\d* \d* //
--cat_file $MYSQL_TMP_DIR/mysqld--replicate.err
# Restart the server with the default options
---let $restart_parameters = ""
+--let $restart_parameters =
--source include/start_mysqld.inc
SELECT @@GLOBAL.replicate_rewrite_db;
-
---echo # Cleanup.
-SET @@GLOBAL.replicate_rewrite_db = @save_replicate_rewrite_db;
diff --git a/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test b/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test
index ddf46247..19ea013f 100644
--- a/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test
+++ b/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test
@@ -78,7 +78,7 @@ SELECT JSON_CONTAINS(@json_doc, '"COMMIT"', '$[0].statements_executed[1].sql_tex
SET @sys.ps_thread_trx_info.max_length = 100;
# Should return an error JSON object
---replace_regex /Row 1[1-2] was/Row 1X was/
+--replace_regex /Row \d+ was/Row 1X was/
SELECT sys.ps_thread_trx_info(@ps_thread_id);
# Setting the user variable back to NULL should reset to 65535 from sys_config, and no truncation
diff --git a/mysql-test/suite/vcol/r/func_regexp.result b/mysql-test/suite/vcol/r/func_regexp.result
new file mode 100644
index 00000000..f7ae11f7
--- /dev/null
+++ b/mysql-test/suite/vcol/r/func_regexp.result
@@ -0,0 +1,24 @@
+#
+# Start of 10.5 tests
+#
+#
+# MDEV-21058 CREATE TABLE with generated column and RLIKE results in sigabrt
+#
+CREATE TABLE t1 (c0 INT AS(('' RLIKE '[')));
+ERROR 42000: Regex error 'missing terminating ] for character class at offset 1'
+CREATE TABLE t1 (c0 INT AS(REGEXP_INSTR('','[')));
+ERROR 42000: Regex error 'missing terminating ] for character class at offset 1'
+CREATE TABLE t1
+(
+c0 INT,
+c1 INT AS(('' RLIKE NULL)),
+c2 INT AS(REGEXP_INSTR('',NULL))
+);
+INSERT INTO t1 (c0) VALUES (0);
+SELECT * FROM t1;
+c0 c1 c2
+0 NULL NULL
+DROP TABLE t1;
+#
+# End of 10.5 tests
+#
diff --git a/mysql-test/suite/vcol/t/func_regexp.test b/mysql-test/suite/vcol/t/func_regexp.test
new file mode 100644
index 00000000..5e97009a
--- /dev/null
+++ b/mysql-test/suite/vcol/t/func_regexp.test
@@ -0,0 +1,30 @@
+--source inc/vcol_init_vars.pre
+--source inc/vcol_cleanup.inc
+
+--echo #
+--echo # Start of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-21058 CREATE TABLE with generated column and RLIKE results in sigabrt
+--echo #
+
+--error ER_REGEXP_ERROR
+CREATE TABLE t1 (c0 INT AS(('' RLIKE '[')));
+
+--error ER_REGEXP_ERROR
+CREATE TABLE t1 (c0 INT AS(REGEXP_INSTR('','[')));
+
+CREATE TABLE t1
+(
+ c0 INT,
+ c1 INT AS(('' RLIKE NULL)),
+ c2 INT AS(REGEXP_INSTR('',NULL))
+);
+INSERT INTO t1 (c0) VALUES (0);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
diff --git a/mysql-test/suite/versioning/r/alter.result b/mysql-test/suite/versioning/r/alter.result
index b3c342fd..52c35f47 100644
--- a/mysql-test/suite/versioning/r/alter.result
+++ b/mysql-test/suite/versioning/r/alter.result
@@ -846,8 +846,17 @@ Note 1060 Duplicate column name 'v'
alter table `b` add column if not exists ( p bit );
drop table `b`;
#
-# End of 10.4 tests
+# MDEV-30528 Assertion !mbmaxlen || ... failed
+# in dtype_get_at_most_n_mbchars()
#
+CREATE TABLE t(f TEXT) WITH SYSTEM VERSIONING CHARACTER SET utf8 ENGINE=InnoDB;
+INSERT INTO t VALUES ('foo');
+DELETE FROM t;
+ALTER TABLE t ADD FULLTEXT (f);
+affected rows: 1
+info: Records: 1 Duplicates: 0 Warnings: 0
+DROP TABLE t;
+# End of 10.4 tests
#
# MDEV-21941 RENAME doesn't work for system time or period fields
#
@@ -871,6 +880,4 @@ t1 CREATE TABLE `t1` (
PERIOD FOR SYSTEM_TIME (`x`, `y`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci WITH SYSTEM VERSIONING
drop table t1;
-#
# End of 10.5 tests
-#
diff --git a/mysql-test/suite/versioning/r/data.result b/mysql-test/suite/versioning/r/data.result
index c7fe141c..08ab03ff 100644
--- a/mysql-test/suite/versioning/r/data.result
+++ b/mysql-test/suite/versioning/r/data.result
@@ -10,6 +10,7 @@ set timestamp=unix_timestamp('1991-01-02 00:00');
delete from t1 where x=2;
set timestamp=default;
#MYSQL_DUMP --compact test
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
@@ -19,6 +20,7 @@ CREATE TABLE `t1` (
INSERT INTO `t1` VALUES
(3);
#MYSQL_DUMP --compact --as-of="1990-01-02 00:00" test
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
@@ -30,6 +32,7 @@ INSERT INTO `t1` VALUES
(2),
(3);
#MYSQL_DUMP --compact --as-of="1990-08-02 00:00" --databases test
+/*!999999\- enable the sandbox mode */
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
@@ -45,6 +48,7 @@ INSERT INTO `t1` VALUES
(2),
(3);
#MYSQL_DUMP --compact --as-of="1990-08-04 00:00" test t1
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
@@ -87,6 +91,7 @@ select x, check_fields(x, row_start, row_end) from t2 for system_time all order
x check_fields(x, row_start, row_end)
1 [CORRECT]
2 [CORRECT]
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
@@ -194,6 +199,7 @@ insert t1 (x) values (2);
delete from t1 where x=1;
mariadb-dump: Cannot use --dump-history for table `t1` with transaction-precise history
mariadb-dump: Cannot use --dump-history for table `t1` with transaction-precise history
+/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
diff --git a/mysql-test/suite/versioning/r/partition.result b/mysql-test/suite/versioning/r/partition.result
index 4c1486d0..02cecea6 100644
--- a/mysql-test/suite/versioning/r/partition.result
+++ b/mysql-test/suite/versioning/r/partition.result
@@ -3447,4 +3447,27 @@ ERROR HY000: Maybe missing parameters: no rotation condition for multiple HISTOR
#
# End of 10.5 tests
#
+#
+# MDEV-31903 Server crashes in _ma_reset_history upon UNLOCK table with auto-create history partitions
+#
+set timestamp= unix_timestamp('2000-01-01 00:00:00');
+create table t1 (x int) engine=aria with system versioning partition by system_time interval 1 hour auto partitions 3;
+insert into t1 values (1);
+create table t2 (x int) engine=aria;
+create trigger tr after insert on t2 for each row update t1 set x= x + 11;
+lock tables t1 write, t2 write;
+update t1 set x= x + 1;
+set timestamp= unix_timestamp('2000-01-01 13:00:00');
+insert into t2 values (5);
+unlock tables;
+drop table t1, t2;
+set timestamp= default;
+#
+# MDEV-29872 MSAN/Valgrind uninitialised value errors in TABLE::vers_switch_partition
+#
+create table t (a int) with system versioning partition by system_time limit 100 partitions 3;
+drop table t;
+#
+# End of 10.9 tests
+#
set global innodb_stats_persistent= @save_persistent;
diff --git a/mysql-test/suite/versioning/t/alter.test b/mysql-test/suite/versioning/t/alter.test
index 44f52ddf..85448d21 100644
--- a/mysql-test/suite/versioning/t/alter.test
+++ b/mysql-test/suite/versioning/t/alter.test
@@ -743,9 +743,20 @@ alter table `b` add column if not exists ( p bit );
drop table `b`;
--echo #
---echo # End of 10.4 tests
+--echo # MDEV-30528 Assertion !mbmaxlen || ... failed
+--echo # in dtype_get_at_most_n_mbchars()
--echo #
+CREATE TABLE t(f TEXT) WITH SYSTEM VERSIONING CHARACTER SET utf8 ENGINE=InnoDB;
+INSERT INTO t VALUES ('foo');
+DELETE FROM t;
+--enable_info
+ALTER TABLE t ADD FULLTEXT (f);
+--disable_info
+DROP TABLE t;
+
+--echo # End of 10.4 tests
+
--echo #
--echo # MDEV-21941 RENAME doesn't work for system time or period fields
--echo #
@@ -767,6 +778,4 @@ show create table t1;
# cleanup
drop table t1;
---echo #
--echo # End of 10.5 tests
---echo #
diff --git a/mysql-test/suite/versioning/t/partition.test b/mysql-test/suite/versioning/t/partition.test
index 3699ac28..5707746f 100644
--- a/mysql-test/suite/versioning/t/partition.test
+++ b/mysql-test/suite/versioning/t/partition.test
@@ -2673,5 +2673,43 @@ create table t (a int) with system versioning partition by system_time partition
--echo # End of 10.5 tests
--echo #
+--echo #
+--echo # MDEV-31903 Server crashes in _ma_reset_history upon UNLOCK table with auto-create history partitions
+--echo #
+set timestamp= unix_timestamp('2000-01-01 00:00:00');
+create table t1 (x int) engine=aria with system versioning partition by system_time interval 1 hour auto partitions 3;
+insert into t1 values (1);
+
+create table t2 (x int) engine=aria;
+create trigger tr after insert on t2 for each row update t1 set x= x + 11;
+lock tables t1 write, t2 write;
+update t1 set x= x + 1;
+set timestamp= unix_timestamp('2000-01-01 13:00:00');
+insert into t2 values (5);
+unlock tables;
+drop table t1, t2;
+set timestamp= default;
+
+--echo #
+--echo # MDEV-29872 MSAN/Valgrind uninitialised value errors in TABLE::vers_switch_partition
+--echo #
+create table t (a int) with system versioning partition by system_time limit 100 partitions 3;
+let $emb= `select if(version() like '%embedded%', 1, 0)`;
+if (!$emb)
+{
+ --disable_result_log
+ --disable_query_log
+ --error ER_DELAYED_NOT_SUPPORTED
+ insert delayed into t () values ();
+ --enable_query_log
+ --enable_result_log
+}
+# cleanup
+drop table t;
+
+--echo #
+--echo # End of 10.9 tests
+--echo #
+
set global innodb_stats_persistent= @save_persistent;
--source suite/versioning/common_finish.inc